Make APICache always update entries correctly.

Review Request #6772 — Created Jan. 14, 2015 and submitted — Latest diff uploaded


The APICache now properly updates entries when the Last-Modifed
and/or ETag headers change and the Vary header does not.
Previously, the entries would only be updated if the Vary header
was updated.

Update the MockUrlOpener test harness to compare the provided
If-Modified-Since header against the Last-Modified header.

Added a test for the Cache-Control: no-cacche and Last-Modified
header combination. It makes additional requests after the
Last-Modified header is modified to ensure that the cache entry is
updated correctly.

Updated the test for the Cache-Control: no-cache and ETag header
combination to make another request after the ETag is modified to
verify that the cache entry is updated.

Ran unit tests.