First class static content

Moved static content to be "first class" so it now runs before the main pipeline, security etc. 

If secure content is required, It's possible to disable the new hook by setting it to DisabledStaticContentProvider in NancyInternalConfiguration, then calling StaticContent.Enable to enable to old style, pipeline based, static content.

Also added automatically responding to conditional requests (based on etag or last modified), and returning 304 as appropriate.