that's an xnor operation, not xor
remove unneccessary semicolon
Put model errors alongside field errors by validation name

Instead of a hash called __model with the model validation errors, the
model validation errors are now alongside the field validation keys of
the hash, named after the validation's key in the validate array. To be
as consistent as possible, the value is an array even though it will
only ever have one member. The structure is set to change in 2.0.

Example: where there was a model validation set up like

	validate: {
		xnor: function() {
			if (this.field1 === null) === (this.field2 === null) {
				throw new Error('require both or neither')
			}
		}
	}

and field1 and field2 have some validations, validate() might return
something like

	{
		field1: [
			'must be an email address',
			'email address must be @example.com'
		],
		xnor: ['require both or neither']
	}
move error on non-function model validation function from validate() to DAO factory

Also add a test for it
Throw an error on model validator with same name as field

Plus a test for that