Added test for binding List<T>
Use GetExecutingAssembly() instead of Environment.CurrentDirecotory

Closes #907
Update src/Nancy.Hosting.Self/FileSystemRootPathProvider.cs

Change from null check to not-null as per Andres' suggestion.  Also compare local assembly var instead of calling GetEntryAssembly 2x
Removed overload that will not work and is replaced with Tuple<T,K> versio verio
Adding an expiring cache for view templates

* Added a new IViewCache implementation, currently not default,
that checks if a view location result is stale or not.
* Added an "IsStale" virtual method to ViewLocationResult
which defaults to false.
* Added a new FileSystemViewLocationResult that checks the last
modified time and returns stale/not stale accordingly.
* Few other minor changes to fit in with the changes above.
Fixed bug in the view location cache
Removed pointless reading of modified date
Initial work on reworking view location/caching
Updated uncached view matching logic
Added runtime new view discovery
Ripped out the old view location cache
Test fixups after removal of the old cache
More test fixups
More test fixups
Additional test + fixes
Fixed test setup
Updated StaticConfiguration

Now DisableCaches is obsolete (and will throw an error), added
two new properties to StaticConfiguration.Caching to enable
and disable runtime view discovery and runtime view updating.
Updated View Locator logic

Now if runtime discovery is disabled we bypass the locking
completely - if there's no runtime discovery then our cache
can't change.
Made the new view cache the default
Updated Spark to "work" with the new setup

Spark uses its own caching/filesystem abstraction which
doesn't play nicely with anything else, so currently it just
grabs all the discovered views on startup and uses those. This
means that runtime view discovery is never going to be honored.

Runtime view updates also seem to be broken in Spark currently,
although I'm not 100% sure why as yet.

Test projects still not building at this point.