introduced ANY_EVENT event name.
register myself as ANY_EVENT handler in Dao's construction.
fixed some bug when handling hooks.
indeed these hooks are designed for Dao objects (not Query).
check for existence of hooks before dispatching filter/hook.
support for closure.
move hooks from Query to Dao.
move hook related methods from Query to Dao.
split mutate into muteInto and muteBack.
rearranged Hooks based on various sub systems.
move all the mutation code into Mutants class.
removed duplicated property declaration and un-suited method (save that is).