Rework validation logic

Validation for models will now take place in its own class. Validation
rules are currently defined within this class as opposed to be derived
from the model being validated. There's an abstract class containing the
majority of the logic. It is the responsibility of the implementing
class to define its validation rules. Still pretty incomplete.
Model validation and form rendering amend

Each Validator now defines separate validation rules for the different
controller actions. This is also true for the fields defined on the model.
Update MapperTest to accommodate for changes
Add SQLite configuration to test environment
Added seed data for User model
Modify base TestCase

- Fire Artisan "migration" and "db:seed" commands for each test case.
- Ensure emails are never sent during testing.
Add "updateUniques" method to Validator and associated tests
Define new validation rules on UserValidator
Fix incorrect call to Eloquent constructor
Utilise new functionality exposed by Bozboz\Admin\Services\Validators\Validator
Remove dead code from User
Add BaseModel and BaseModelTest

Intended to be extended by all models within the application to provide
common functionality.
Update BaseModel documentation
Make BaseModel an abstract class

Add abstract "getValidator" method.
User model amend.

Accommodate for changes within BaseModel parent.
Tidying up ModelAdminController, Model and Validator classes
Remove BaseModel

Removed Dan's BaseModel class (using Models\Base). Added getID() method.
Page now extends Base, rather than \Eloquent. Amended BaseTest.
Reworking Admin views
Add ModelAdminDecorator class and subtypes

ModelAdminDecorator is responsible for bolting view logic onto models.
ModelAdminController will work with ModelAdminDecorator subtypes as
opposed to Eloquent subtypes.
Modify ModelAdminController to work with ModelAdminDecorator

This replaces controller logic that worked directly on the model.