Validations configuration as object

Previously validations were appended to an array when configured. The format was cumbersome, and led to issues. This refactors the configuration into an object, as a property of the Model.

Note that if no validations have been configured, this property is currently `undefined`.

@raymondfeng any thoughts on having a getter for `Model.validations` that's always available, regardless of any configuration?