Search, clean up

- Removing references to controller passed in as $controller
- New search response maker
- Article controller now longer passes in reference to itself to the
responseMaker
- New search controller with associated API functionality
- New helper method to get channelId From article object
- New IOC binding for SearchResponseMaker
- New search related routes
- Removing articleRepositoryInterface as no longer required
- Removed references to articleRepositoryInterface from
ArticleRepository
- New search model
Adding pagination to search results
Bug fix, registration & validators

- Bug fix for channel categories not returning an array
- New registrationResponseMaker
- Correct in commenting
- New ApiValidator
- New RegistrationValidator
- Added new response codes
- ApiController::respondWithError now accepts a data array so we can
send back any data. Specifically validation messages in the case of
this update
- Updated register controller to use IOC container for dependency.
Removed all CMS type actions
- apiErrorResponse now accepts optional data array
- New IOC bindings for userRepository and userTransformer
- New routes for registration
- Updated creating a new user to fit with registration requirements
Authentication

- RegistrationResponseMaker now implements lang output rather than
hardcoding for messages
- New SessionsResponseMaker
- New SessionsValidator
- New response messages and codes to support authentication
- New SessionsController
- New IOC bindings in support of sessions
- API messaging reset as now handled differently. New messages added
- New routes for sessions. Removed old resource routes for when CMS in
place
- Updated user model to allow return of password
- Updated generate password to remove the salting of the
generatePassword function with the accessKey
Temporarily returning plain text password for testing
User password change

- SessionResponseMaker now uses app::make() for IOC
- New PasswordChangeResponseMaker
- New passwordValidator class
- New UserController
- New IOC bindings for sessionsValidator
- New Messaging
- New user routes
- BaseModel amends to remove historic and now un-used code
- Removed validation rules from user model
- New UserRepository method to hash and store password for existing user
Password change validation validation

- PasswordChangeResponseMaker now checks to see if the required
parameters have been supplied and responds accordingly
- SessionsResponseMaker correcting Lang::get usage within the correct
namespace
- Removing debug output from UserController
- New helper function for checking for presence of required fields
- Changed route method to correct POST type from GET
PasswordChangeResponseMaker no longer requires accessKey
Password re-work

- New ForgottenPasswordResponseMaker
- Moved several common methods from PasswordChangeResponseMaker to
UserResponder so they can be re-used
- Moved SessionsResponseMaker::make() to top of the script
- New UserResponder to hold common user methods
- New EmailValidator
- Re-worked userController to use IOC bindings with app::make
- UserController now checks for query param = forgotten
- New IOC bindings in support of password work
- New UserRepository method to generate and store a new password on
behalf of the user
Updated DB schema
- Removing non-required fields from user model
Bug fix

- Now creating validator variable as accessible from multiple places
throughout the process
Regen access key, remove user object

- Forgotten password no longer returns user object
- PasswordChangeResponseMaker now returns the updated accessKey
- User responder now correctly returning user object
- UserRepository methods hashAndStore and generateAndStore now call
generateAccessKey to create a new access key
Merge pull request #30 from paulschneider/dev-150714-1115

- Search
- Registration
- Change user password
- Forgotten password
- Clean up