Update documentation

- Add documentation for methods.
- Add documentation for built in Exceptions
- Add documentation for Laravel integration
More inline documentation and code tidying up