Move AbstractResultSet code to HydratingResultSet.
Delete AbstractResultSet.
Update docblocks.
Add Model Manager to HydrationListener.
Add event triggers and handlers for casting to DateTime on preHydrate.
Add BehaviourListener to ModelManager.