reversed the order of Model#set failure args

since `model.save().fail()`, `model.validate().fail()` both take
callbacks where the first argument is the error object, `model.set(...,
{validate: true}).fail()` should follow the same pattern.
Merge pull request #25 from siq/reordersetparams

reversed the order of Model#set failure args
add `model.validate('something')` functionality

you can pass in either a single string for a single prop, or a list of
strings for a list of props. either way it returns a deferred that
resolves with an instance of `fields.CompoundError()` on failed
validation.
Merge pull request #26 from siq/validateprop

add `model.validate('something')` functionality
change Collection::where to Collection::findWhere
Merge branch 'master' of github.com:siq/mesh
added comment explaining Model#validate()

pertains to #26
added definition field support for javascript bindings