Move validation to insert and update methods

 * Validate after 'beforeInsert' and 'beforeUpdate' hooks
 * Add auto validation on fields that include 'options' array
 * Add tests around new validation changes