Mongodb tolerance
Uncomment tests
Upd node version for travis
Rename validation hooks

Name should be "beforeValidate" and "afterValidate"
to be consistent with other hook hames. This change doesnt break
backward compatibility
Rewrite save and create for correct hooks order

Validation should be called first, and then all other actions
to allow modify data after validation (for example hash
password after validating length.

Issue #242
Tests for data manipulation
Test hooks and object lifecycle as per #242
Validation amends

- rename event
- pass data to hooks
- always call hooks (even when no validations set up)
Merge pull request #245 from anatoliychakkaev/master

Hooks, validations, lifecycle