RFC2616 HTTP Cache

The goal is to extend `HttpCacheMiddleware` to allow caching policy to be set to RFC2616 or current cache-all policy.   

Part of the disccusion at  https://groups.google.com/d/topic/scrapy-developers/f0oCJjIXvoQ/discussion

links to HTTP caching resources:


* https://developers.google.com/speed/docs/best-practices/caching
* For an in-depth explanation of HTTP caching, see the HTTP/1.1 [RFC2616](http://tools.ietf.org/html/rfc2616), sections 13.2, 14.21, and 14.9.3.
* latest http draft https://svn.tools.ietf.org/svn/wg/httpbis/draft-ietf-httpbis/latest/p6-cache.html
* http://www.mnot.net/cache_docs/
* python-requests tentative implementation https://github.com/kennethreitz/requests/issues/700
* Firefox caching http://dxr.mozilla.org/mozilla-central/netwerk/protocol/http/nsHttpChannel.cpp.html#l186