Fix minor corner case inconsistency in internal helper method

This method should return YES if 0 is passed in for an empty array.
Refactor and extend unit tests

- Refactor existing unit tests for improved maintainability
- Add a UIView+AutoLayoutInternal category header that exposes the internal methods for use by unit tests
- Add unit tests for internal methods
- Add unit tests for +[UIView autoSetPriority:forConstraints:] method