Added support for setting default values on validation

- I don't like the location of setting the value
- Need support for lifecycle hooks like mongoose.js for pre and post
  validate functions