Fixed bug where tableMaps were not cached.
#478 - Performance increase from 16,252,928bytes/3.284s =>  12,058,624bytes/2.170s
Removed slow in_array and replaced it with isset for `modifiedColumns`.
#478 - Performance increase 100ms
Removed slow call_user_func and replaced it direct call.
#478 - Performance increase 50+ms
Merge pull request #479 from marcj/perf

Perf
Fixed memory leak in Collection class with a new implementation.

#478 - memory consumption optimized from 12,377,160 bytes to 6,053,976.
Merge pull request #482 from marcj/perf2

Fixed memory leak in Collection class with a new implementation.
add compatible doCount and doSelect methods from query_cache behavior
with ModelCriteria class

return DataFetcherInterface instance for doCount and doSelect methods in
query_cache behavior
Merge pull request #484 from lunika/master

fix query_cache behavior compatibility with Criteria and ModelCriteria