Add FTURLCache, which introduces the concept of cold storage

- FTURLCache typically delegates to the default NSURLCache
  implementation, except in cases where the request has been marked as
  being able to be retrieved from cold storage or as needing to be
  stored to cold storage.
- The idea behind cold storage is that it allows responses to be cached,
  regardless of the original Cache-Control settings. This "always cache"
  response doesn't pollute the cache under normal operation, because the
  caller must opt-in for retrieving a response from cold storage.
- Modified SDURLCache to handle the case where the memory cache has size
  0. (NSURLCache was causing warnings otherwise.)