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.