Initial work on adding a Services layer to PHPCI, for better testability. Starting with Projects
More work on ProjectService and its tests
Fixing some issues with project default branches, adding tests for that too
More service layer functionality, builds now. Also some extra tests for projects and build models.
Updating webhooks to use build service
Fixing PHPCI issues for this branch
Moving user controller to using a service class
Migrating install and create-admin console commands to use userservice
Adding some tests for the UserService class.
Reverting accidental addition of engine and parent_id columns to the Build table.
Merge pull request #492 from Block8/dc/services-layer

Add a services layer to PHPCI for better unit testability
Fixing #527
Fixing incorrect method call BuildService::delete() and making the project page reload when a build is deleted. Fixes #528
Add build path to phploc directory
Quick fix for the PHPLoc directory setting
Fixes for SSH key generation.

Closes #514, fixes #512
Partial fix for #504 - No error checking in the User helper
Remove call to non-existant function getPlugins() from the build status page.

Fixes #455
Adding the ability to use a project's composer bin directory even if it isn't defined in the composer.json (/vendor/bin)