Only do Configure() once in RegisterBootstrapperTypes()
Added test for a module with a dependency on RouteCacheProvider
Remove the reference to ObjectFactory in RegisterBootstrapperTypes()
Added param name, value and message to the ArgumentOutOfRangeException() thrown in Registertype()
Fixed typo in comment and added some clarity
Since there's nothing special about the registration of DefaultRouteCacheProvider, it doesn't need to be explicitly registered, so remove it.
Fixed typo in "unknown".
Replaced string concatenation with String.Format().
Moved "using" statement inside the namespace declaration.
Removed pointless packages
Updated submodule to tag: v0.23.1
Updated submodule to tag: v0.23.2
Refactored out the static call to ObjectFactory

I found this bug when I was unable to wasn't able to view the route cache on the default Nancy diagnostics module.  It doesn't look like there's any reason making this static call would have been deliberate.  Since I haven't seen any side effects from the change other than the Route Cache feature becoming functional in the diagnostics module, I have to assume the original inclusion was an oversight.  This should be merged into the main branch and NuGet since anyone who uses the current package will break their app.  In addition to the issue with the diagnostics, it also seems like this would at the very least cause some performance degradation during route resolution.  

Note: Although, it doesn't really matter in practice for this case, StructureMap's API has an overload for the `Use` DSL method that accepts a `Func<IContext, T>` argument.  The `IContext` has a `GetInstance<T>` method, which is implemented by the `BuildSession` class.  The `BuildSession` is the same mechanism that the `Container` class uses under the hood, so the delegate with the `IContext` argument would actually be a more direct approach.  It also necessarily stays within the scope of dependencies, so you wouldn't need to have a local reference to the container like we have here in order to use it.  That version would look like `registry.For<Func<IRouteCache>>().Use((IContext context) => new Func<IRouteCache>(context.GetInstance<IRouteCache>))`, which is probably the best option.  I didn't want to make unnecessary changes to the code though, so I left it as is except for the issue that I intentionally fixed.
Merge pull request #23 from smartcaveman/master

Refactored out the static call to ObjectFactory
This commit removes some unnecessary calls to register components, as advised by StructureMap's JDMiller. This is with the aim of minimising difficult to debug issues at load, by reducing the amount of calls made to the SM container from Nancy.

The call to configure  has been completely removed from  as it is not needed.

The  method which is called per request does not need to register the current module type on the fly, and can just return it from the container and cast it to INancyModule, as "StructureMap can happily build a concrete type even if it's not explicitly registered as long as the StructureMap container can fill the the concrete type's dependencies."
Merge remote-tracking branch 'upstream/master' into no-object-factory

Conflicts:
	src/Nancy.Bootstrappers.StructureMap/StructureMapNancyBootstrapper.cs
Merge remote-tracking branch 'gregsochanik/structure-map-cleanup' into no-object-factory

Conflicts:
	src/Nancy.Bootstrappers.StructureMap/StructureMapNancyBootstrapper.cs