Allow the Addons::classMap() to return a result for a basename that’s in a namespace.
Added the Application->get(), Application->post() etc. as a quick way
to route to various http methods.
Request teaks.

- Separate the file extension from the path.
- Add Request->fullPath() method to get the path + extension.
- Make the request JsonSerializable.
- Add Request::replaceEnv() and Request::restoreEnv().
ResourceRoute tweaks.

- Remove extension parsing that was moved to Request.
- Fix a 405 error that reports the wrong method.
- Allow a resource to be routed even if the Addons class hasn’t been loaded.
Convert Config to a static class.
Response tweaks.

- Add file header and copyright.
- Make the class JsonSerializable.
- Add Response::globalCookies() and Response::globalHeaders().
- Add Response::current() to get the current response.
- Add Respose->contentTypeFromAccept().
- Add Response::statusMessage().
- Rename Response->cookies() and Response->headers().
- Add Response::splitHeaders().
- Add Response::normalizeHeader().
- Add Response->flush() and Response->flushHeaders().
- Add Response::create().
Fix bad Allow header on a 405 error.
UrlRoute fix and doc comments.
Exception tweaks.

- Change the $headers property on ClientException to $context to allow for more than just headers.
- Add ClientException->getHeaders() and ClientException->getDescription().
- Make ClientException JsonSerializable.
- Change the constructor of NotFoundException to take arguments specific to 404 errors.
- Add the MethodNotAllowedException for 405 errors.
ResourceRoute tweaks.

- Switch the 405 errors to MethodNotAllowedException instances.
- Test for an http method match in the matches() method.
Response tweaks.

- Add Response->context().
- Add some exceptions to Response::normalizeHeader() and make it public.
- Fix a bug in Response->flushHeaders() where the status code was not set correctly.
Fill in more of the finalize method in the Application class.