Fix typos in documentation.

Updated the documentation and fixed some typos in it.
Create interface for models using stapler.

- Created an interface for models that are using stapler to implement.
  This interface will then be fulfilled by one of the traits used in the
model.
- Traits are now located in a different namespace and suffixed with the
  word 'Trait'.
Update tests back into green.

Updated the tests for Stapler back into green after previous chnages.
Update documentation.

Updated the documentation to cover the latests changes:
- Models using stapler are now required to implement an interface (will
  be fulfilled by the trait being used).
- Traits have been moved to a different namespace.