Search parent folders in sake for SilverStripe installation.

Previously sake would only work when run in the root folder. This change checks for a framework or sapphire directory up the parent folders.
Merge branch '3.1'
Merge pull request #1215 from wilr/sake

Search parent folders in sake for SilverStripe installation.
Merge pull request #1239 from ajshort/travis-composer-3.1

Travis Composer Integration (3.1.x)
Merge remote-tracking branch 'origin/3.1'

Conflicts:
	tests/travis/before_script
API: Use an interface for defining request filters

Request processors must now implement the PreRequestFilter or
PostRequestFilter interface.
Move coupled request output logic into request post processors
API: Include the extension in request URLs

 This fixes the issue where requests with different extensions would resolve
 to the same resource.
Reworked HTTP response redirection detection

* Any 3xx status code is now recognised as a redirect.
* Added an isRedirect() method to check if a status is a redirect.
Remove unused director url params related code
Extract common request/response functionality into a base class

* Both the request and response classes inherit from the base message class.
* Setters consistently return object instances.
API: Consistently name HTTP header methods

* SS_HttpMessage->addHeader() has been renamed to setHeader().
* SS_HttpMessage->removeHeader() has been renamed to unsetHeader().
API: Made HTTP request method names more consistent

* Renamed SS_HTTPRequest::httpMethod() to getMethod().
* Properly case method names.
API: Make request constructor args optional and remove null request
Add PSR-0 autoload definition to composer.json
API: Change Director::test() to accept request objects

Rather than accepting an argument for each request variable, a request
object is used to provide these details. For simple cases a URL can
still be used.

This means that GET variables can no longer be included in the URL, but
must be included in the request object.
API: Don't include $_FILES vars in request vars

This better emulates the behaviour of the standard PHP request
array. Also added methods to allow accessing files data.
Add support for legacy class loading
Always include the composer autoloader
API: Extracted routing functionality into a router class
API: Consistently named http request methods