Added postSave and preSave events and tests
Improved event passing method
Reversed order of event emissions, so daoFactory gets triggered before global sequelize
Matched code style
Added preDestroy and postDestroy events and tests
Added preBuild and postBuild events and tests
Moved to bubbling emission from DAO instance -> DAO factory -> Sequelize similar to how DOM events bubble up
Updated test cases to match new behaviour
Added event filtering to prevent unexpected event bubbling
Added check to ensure preBuild and postBuild are only emitted for new records, rather than in every select
Post reintegration merge.
Reintegrates events with master