Spiked out route metadata prototype
Cleaned up the code a bit
Additional changes

- Introduced RouteMetadata and replaced the IDictionary<Type, string>
in RouteDescription.Metadata with it
- Made it possible to have multiple IRouteMetadataProviders
- Updated sample
Additional updates
Added Retrieve ext. method to IRouteCache
Renamed Retrieve<TMetadata> to RetrieveMetadata<TMetadata>
Fixed merge errors and a failing test
Changed incorrect method name
Fixed silly copy/paste error
Resolved merge conflict
Merge pull request #1497 from thecodejunkie/route-metadata

Added support for route metadata