Flaws in the face detection logic cause the following bug:
== Steps to reproduce
# Clean install
# Go to Barack Obama
### Expected results
centered face
### Actual results
not centered face
## Dev notes
The property where focal rects were stored was initialized to an empty array, meaning that we always thought face detection previously ran, even when it didn't. Property is no initialized to `nil` as expected, and tests were added to ensure proper behavior in the following cases:
* New image w/o any data on disk (detection hasn't run, no faces)
* Image w/ data on disk w/o a `focalRects` field (detection hasn't run, no faces—same as above)
* Image w/ data on disk with `focalRects` field set to empty array (detection **has** run, no faces)
* Image w/ data on disk w/ `focalRects` field set to non-empty array (detection has run, `hasFaces` is **true**)
---
4.1.7.168 beta on iPad mini iOS 8.2
{F276282}
4.1.7.170 alpha
{F276286}
Another example:
{F276299}