Add a Cache-Control no-store header for uncacheable requests.

@camilo & @csfrancis for review

## Problem

When `cacheable_request?` returns `false`, we don't cache the request in the application, so we should tell the user-agent and any intermediate proxies that they should also not store the response.

## Solution

Send `Cache-Control: no-cache, no-store` header in the response. if `cacheable_request?` return falsely.