Add hydratedMethodName private member to optimize the hydrate() method for loops.
Remove unused variable.
#6142 - using `string[]` instead of `array` for the hydrated method names
#6142 - better description of what the hydration method names cache does
#6142 - better hydration cache property name
#6142 - adding tests to verify that the `ClassMethods` hydrator can act on separate object types
#6142 - Caching the hydration methods per class to avoid calling non-existing methods and for performance
#6142 - Stubbing out structure of an extraction methods cache
#6142 - Implementing more performing extraction via an extraction map cache
#6142 - Hydration caches should be reset when filters/strategies are changed
#6142 - Adding minor comments to distinguish various portions of the caching logic
Merge pull request #1 from Ocramius/feature/#6142-classmethod-hydrator-optimization

Classmethod hydrator optimization - massive cleanup and extension by @Ocramius
Use substr instead of regex
Fixed CS
Use strpos instead of substr.
Merge branch 'feature/#6142-setter-matching-performance' into feature/#6142-classmethod-hydrator-optimization
Merge branch 'feature/#6142-classmethod-hydrator-optimization' into develop

Close #6142