trunk-sync: we now depend on re2
trunk-sync: resource_fetch.h was moved
trunk-sync: threads now require names
trunk-sync: RewriteOptions::Enabled is now trinary
trunk-sync: system_test_trailer renamed to check_failures_and_exit
trunk-sync: we also fail ipro testing because its not ported
merge commit
trunk-sync: refactor SystemRewriteOptions, psuedo-RTTI removed

This is the ngx_pagespeed half of a refactor morlovich made:

    Split out the settings that can be shared between
    mod_pagespeed and ngx_pagespeed into a separate class.

    This is step 1 out of ??? of refactors to reduce code dupe
    between mod_pagespeed and ngx_pagespeed and make some
    things more testable.

    (Step 2 will be to share some of the configuration parsing
    code).
     -- https://code.google.com/p/modpagespeed/source/detail?r=2443
Use proper path for scoped_ptr.h

base/scoped_ptr.h is no longer in Chromium ---
base/memory/scoped_ptr.h is, but indirect via
PSOL for consistency.
Use the new common parsing code in PSOL
Adjust to API changes.

StaticJsManager -> StaticAssetManager
Beacon gets an extra argument
Port NgxCache -> SystemCachePath
Update for AprMemCache moving into system/ and the .a file
key_value_codec.cc is in the .a already as well
PSOL needs FileCache::InitStats now
Port cache setup code to SystemCaches

This -almost- gives SHM metadata cache support, except for lack
of parsing of CreateShmCache --- I don't have a good solution for
that yet.
ngx-pagespeed-message: wire up ngx_pagespeed_message url

This allows viewing the last few messages written to the SharedCircularBuffer in
NgxMessageHandler through url /ngx_pagespeed_message

Related issue: https://github.com/pagespeed/ngx_pagespeed/issues/153

Squash-merge of Otto's #180.
shared-mem-locks: clean up shared memory segments

This wires up cleanup code shared memory segments.
It uses slightly modified copies of pthread_shared_mem.cc/h, containing a change
proposal to support our ordering of events during a configuration reload.

It can be tested and reviewed through this branch.

I did some extensive tests, it seems segment cleanup is not perfect yet
(segments for named locks, per vhost statistics segments). I think we need to
fix that in the trunk-tracking branch or in a separate pull though. It seems the
current trunk of psol has improvements that may fix this, and fixing it in this
pull will make it larger and more complex then I would like it to be.

Squash-merge of Otto's #179.
Update to master API changes

In particular, it expects NewServerContext to be overriden, even if
in a non-callable way, and ProxiesHtml() to be implemented.
Merge branch 'master' of git://github.com/pagespeed/ngx_pagespeed into morlovich-trunk-tracking-with-system

Resolves quite some conflicts by hand, so rather error-prone.