Custom error messages

Adds custom error messages as a third argument to Validator with similar functionality to [Laravel](http://laravel.com/docs/validation#custom-error-messages)