Feature/#6 indexpathmapper nspredicate support

This PR introduces the possibility to use predicates as conditions instead of blocks.

The predicate methods are used internally for the block based api as well, so all available unit tests do implicitly test the predicate based api as well.

closes #6 
To avoid this otherwise useless line, you could've also used
`NS_VALID_UNTIL_END_OF_SCOPE NSMutableDictionary *person = [NSMutableDictionary dictionary];`
in the declaration line in order to make sure ARC doesn't drop it too early.