Using functors instead of closures

* added Functor\AlwaysTrue
* added Functor\AlwaysFalse
* added Functor\Identity
* "map", "reduce" and "filter" now use functors instead of closures