Behaving more like ActiveRecord.

- We fail loudly when save! is used.
- We don't save when validations fail
- We can skip validations passing in {:validate => true}

Hey @sxross

I added the code to MotionModel::Validatable instead of MotionModel::Model because it doesn't make sense if we don't have validations.