Improve request type mapping and the default controller handler

- Expand the object type mapping capabilities of the former StringValue class
- Allow use of multi-valued request query parameters
- Add fairly thorough unit test of the enhanced type mapping
- Use the enhanced type mapping to allow controller methods to optionally accept named parameters
- Allow the default controller handler to be replaced using a service locator