Merge pull request #648 from pagespeed/jmaessen-trunk-tracking

trunk-tracking: update from r3852 to r3872
note that it will only compile against mod_pagespeed r3872 if you first patch in r3889
if: support pagespeed directives in location if blocks
Initial compiling version on top of new PSOL.

Did not attempt to run it yet, and some stuff still outstanding.
Get a bit further on tests:

1) Update title expectations for stats
2) Merge r3894 which updates ExperimentalJsMinifier test and adds
source map tests.
Merge test changes from r3875 and its follow up r3892.
Properly use StatisticsPage and not StatisticsHandler.

Josh pointed out I was probably doing it wrong, and
that seems to be the case. Also add a tiny test to cover
the difference.
Merge in tests from r3887.
Propagate the headers produced by the pages/handlers as well.

(Based on Otto's pull request 649)
Fix improper cache key on write for IPRO of resources with PageSpeed params

We need to be writing with the base name, with params stripped.
This was causing a test to "flake" under valgrind, since with it we got
to the test showing the bug slowly enough for the entry written out by
an earlier test under proper URL to expire.
downstream-caching: make kPreserveCacheControl do what it means