Modified Hydrators to be per-query instances instead of a singleton-like approach

This fixes an old issue we have where we have a Query that triggers an entity-specific postLoad event which attempts to do another Query.
In this situation, developer will face an "Attempt to call method on a null object" error on PHP.