feat(mapper): add predicate functionality

Implements the use of NSPredicate for condition evaluation. The behaviour of the block based api remains but is internally shifted to use predicate evaluation as well.
docs(mapper): update documentation for the new predicate evaluation feature
feat(mapper): add unit test for predicates with evaluation objects
feat(mapper): clean up unnecessary arc workarounds

Make use of the NS_VALID_UNTIL_END_OF_SCOPE macro to make a variable stay until the end of the scope instead of using the object at the end of a method to make it stay around.
feat(mapper): make specifying a nil predicate a defined api use

This changes the implementation as suggested by lla01: When calling -setConditionForIndexPath:predicate:evaluationObject: with a nil predicate, the condition for this index path is removed.
Merge pull request #7 from Hotel-Reservation-Service/feature/#6-indexpathmapper-nspredicate-support

Feature/#6 indexpathmapper nspredicate support