Adds enum(erated) types as path components.
Merge branch 'enum-type' into devel
Can route ControllerBase as well as Controller.
Better testing via FakeHost.

We now do 'unit' testing (well, kind of integration testing) via the
FakeHost library.
Adds testing coverage with FakeHost: confirms upload works now!

Uses the wonderful FakeHost to test routing actually working through MVC.

This confirms that dates, for example, work correctly, as does file
upload.
Tidies up file headers.
Improves usability of specifying URLs/Routes/Requests.

HttpMethods can be applied post-fix on UrlPatterns, via some extension
methods.

Post body types can be specified without the empty pair of parentheses.