Refactor

Refactored the process in which a collection normalizes schema and initializes callbacks/instance methods. We could also create an error module for all waterline errors such as @mikermcneil suggested. We could then throw them when normalizing schema.

 I'm going to try to figure out how to get validation types injected into base types somehow, to eliminate the awkward `if(types.indexOf(type) === -1) type = 'string';`.

In reference to #50