Merge pull request #3 from brisebois/master

Feedback request
Refactored into proper library

we now have a base for a regular library. Caching is externalized, we
cache based on conneg, added tests, cleaned up a lot of issues. Fixed
readme. We now only rely on Web API core to facilitate both web/self
hosts. Downgraded to .NET 4.0 to support more clients.
added info about conneg
enabled nuget package restore
added nuget to sln
added build scripts

right now we don't run unit tests in build, should we?
added support for IF-None-Match
added config extensions
updated readme
updated readme
added demo project, updated nuget info in readme

also, fixed 304 issues - since we cannot throw an exception in the
filter, we have to gracefully return
Update README.md
excluded "callback" from caching (JSONP)
only exclude jsonp when callback is part of uri
updated readme with JSONP info
added invalidation logic

we now have 3 ways to invalidate cache: controller level attrib, method
level attrib or manual. Also change the way we access caching
configuration
updated readme

Updated with info about cache invalidation and action method uniqeness
fixed bug with cahing only via querystring

we now extract action arguments from route rather than relying on
querystring
When ClientTimeSpan is 0 and MustRevalidate is false, then there is no CacheControl header.
When ServerTimeSpan is 0 then the response in not stored in the webcache.
Removed ServerTimeSpan from CacheTime as it was not used anywhere.
Do Not Cache When Response not succesful.
Change projects to framework 4.0 to work in vs2010