Validate instance against schema on save
This replaces the throwing of errors when assigning values to root level
schema properties and means that child elements are now validated when
saving.

NOTE: This still doesn't validate for custom save commands { $set: {} } etc.
Updated Diff engine
We've moved to a new diff engine (codename Omnom) which is so much better
than the original diff algorithm as to make any comparison laughable.

The biggest reason for the move was to allow us to support array diffs
in an intelligent way while still allowing single queries to function
correctly.

To achieve this, there are a few important implications which you need
to take into account - namely that using the built in algorithm for combinations
of pushes and pulls on arrays is a TERRIBLE IDEA. This is due to the way
that arrays are handled to support single queries - since MongoDB doesn't
allow combinations of $push/$pull/$set on an array within a single query
for consistency reasons.

USE IT FOR:
 - Changing the values of array elements (and their child values) without
   changing their position in the array
 - Adding array elements and making changes to existing ones (at the same time if you wish)

BIG DON'TS:
 - Removing array elements while adding/modifying others
 - Insertion at the front of an array (Forces the array to be replaced)
Added info about Omnom to the README
Version 2.9.4