NSDictionary enumeration can look nicer with block-based enumeration.
made sure we don't dereference a nil pointer (when no error is passed in)
Fix - no need to populate `userInfo` if no `error` was passed in.
Change array enumeration back to fast enumeration.
Merge pull request #8 from czechboy0/master

* NSDictionary enumeration can look nicer with block-based enumeration
* Bug fix: Validation now fails regardless of whether an NSError was passed in or not