Add method to check validations

Pretty simple really - this adds a public method to run the validations for a model. Also, refactored the `save` method to use `checkValidations`.
Yea, this will validate twice, which other than be unnecessary could potentially cause issues since `before_validate()` calls will be called that may change the state of the model. Also, uniqueness validations will be run more than once, which will cause unnecessary SQL calls: bad for performance.