Ensure request method is uppercase rather than lower
Use public static methods instead of private methods inside handler

We do this for 5.3 compat, no other reason. I hate leaking
implementation details like this!!
Change some naming

 - Rename ApplicationContainer to MiddlewareApplication
 - Move MiddlewareApplication and RoutedApplication to Lily\Application
 - Move tests for moved classes to appropriate namespaces
Add Response, a static class for building response maps
Use Response::notFound() and remove old RoutedApplication::notFoundResponse()
Update example in README
Whitespace
Allow ::notFound() to take custom headers and body
Add Response::ok()
Use Response::ok() and ::notFound() in tests