Add extension method for registering paths as strings

New extension method and unit test required which allows registration of
resources by providing an array of strings formatted as relative or
virtual paths.
Add null argument checks and new IsVirtualPath method.
Add method to test for relative paths.
Rename Relative to Absolute for path test.
Add method to join two paths together.
ResourceCache cache directory variations

Cache directory to support relative, virtual and absolute paths.
Add a basic metadata provider for resource types.
Add boiler plate code support multi format responses

Clients to be able to request the same resource different formats,
depending on the request header information.
Ignore resharper settings file.
Response headers part of the pipeline surrogate object

Set response headers via the pipeline surrogate object.
Caching headers generated via a preprocessor

The final built in preprocessor to run on the pipeline generates HTTP
caching headers.
Add GZipDeflateStream preprocessor.

Not yet hooked up to the pipeline.
Merge branch 'rattrib' into testm
WIP - Cache entry transformations.
Support for different representations of the same resource

Requests for zgip and deflate encoding are served accordingly.