Reenable ClientTimeSpan zero and ServerTimeSpan zero

When ServerTimeSpan is 0 then the response should not be stored in the webcache.
When ClientTimeSpan is 0 and MustRevalidate is false, then there should be no CacheControl header.
Removed ServerTimeSpan from CacheTime as it was not used anywhere.
Fixed Unit test that contained a date in the past.
Changed target framework to 4.0 for Demo and test project, so they open in VS2010.
Added attribute constructor overload instead of the default value, as that gave errors in VS2010.