Initial hackery to change module registration / lookup

We were registering every module on every request, which is slow
and wasteful when we only resolve one per request. Changed it so
now we store the module type rather than the "key", and with the
per request container bootstrappers we register a single module
per request, then resolve it.

Not 100% sure if we should split out the register and resolve calls
in the classes that derrive from the request container base class
(currently it expects them to register and resolve in the GetModule
method)

Currently non-request container bootstrappers are broken.
Cleanup / fixes
Fixed aspnet bootstrapper
More fixups
More Fixups.. zzz
More fixups
Final fixups, all tests now passing
Updated TinyIoC
Fixed xml comments
Replaced all xml comments referencing NancyModule with INancyModule
XML comment fixups
More minor fixups
Merge pull request #998 from grumpydev/ModuleRegistrationChanges

Module registration changes