Removed a couple of tests to do with mappath as they no longer make sense, as rather than mapping a request path to some physical path, we now actually use the request path to get an IFileInfo object from the IFileProvider. An IFileInfo object need not have a physical path - we only care if it exists or not - and getting its bytes, not what its physical path may be.
It was assuming the IFileInfo's had a PhysicalPath when checking the extension of the file. This is not necessarily true as this property can be null depending on the file provider. Fixed by changing it to check the file Name instead.
Feature Request: Add Options to Control Etag and Cache-Control headers. #48
This is a huge update, this adds fluent builders for defining debug vs production options, adds lots of new options for file watching and caching, gets file watching working including refreshing of persistent files.