KERN-2844 HTTP cache infrastructure improvements. Also includes new fixes for KERN-2850 and KERN-2871.

Squashed commit of the following:

commit b3c4dfe67dd97f5e96f56687eb84bc37d6239361
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Wed May 30 14:08:46 2012 -0700

    KERN-2844 Clear the static and dynamic content cache when ContentReloader does its thing

commit a14c598f0c8af1f0853f0a0d2226979e5816b563
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Wed May 30 13:09:09 2012 -0700

    KERN-2844 Don't call cache.remove() unless key is there

commit ea315cf340350b772d26790455733fcbdc7880f3
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Wed May 30 13:01:02 2012 -0700

    KERN-2844 Invalidate the me feed from places that alter it

commit e1fa25c07faee1a3e25cd3c7672d1184da69c05a
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Tue May 29 16:13:43 2012 -0700

    KERN-2844 Rename method, improve javadoc

commit a79a50c50f83d6715c68e191db01c8be83014a6a
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Tue May 29 15:28:52 2012 -0700

    KERN-2844 Add telemetry to dynamic response cache; adjust constant value

commit ad702e44c3c309293723edeb3a9dc4848375e89d
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Tue May 29 14:25:59 2012 -0700

    Port KERN-2850 and KERN-2871 into the new cache components

commit 121a93ceaa636f29a56a07ed15841701fff783da
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Tue May 29 11:41:30 2012 -0700

    KERN-2844 Rebase onto current master, resolve pom conflicts

commit d66157739c1943950b654f2bcc60e31bec138be0
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Tue May 29 10:36:02 2012 -0700

    KERN-2844 Rename for clarity, add javadoc

commit 38c765952ee1c90d68fc25948d4867e084aca363
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Fri May 25 16:24:48 2012 -0700

    KERN-2844 Split http into api and impl bundles

commit 4f3a2160b6e6a35a8a8517c207703a51aa9c0fde
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Fri May 25 15:26:36 2012 -0700

    KERN-2844 Use sha1 for etag value

commit 9cb1270351672d637491128ea67c1f1e9f70df08
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Fri May 25 14:53:13 2012 -0700

    KERN-2844 Return 304 to clients that present us with fresh etags; cache invalidation still not complete

commit cb831ee7235311e68f8eaaf905d0374d9e451a07
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Fri May 25 12:55:10 2012 -0700

    KERN-2844 Etag response cache, work in progress

commit d9a8e7f39b8d1d224895fc06cdaa3e7644edfa95
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Fri May 25 10:16:15 2012 -0700

    KERN-2844 Rename CacheControlFilter to StaticContentResponseCache to make its role more clear; tweak expiration times

commit 5916e96ffcec808c016d4ab4eb97bc208eb0d101
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Thu May 24 12:52:31 2012 -0700

    KERN-2844 Encapsulate cache params in a proper object; simplify config language

commit 3628a78b4afc090b40620958f828b0ae25fcef1a
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Thu May 24 11:21:31 2012 -0700

    KERN-2844 Remove the setting of random headeres by side effects

commit 3b4074fba3a83caf579a3cca97ef85e1212a4f7e
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Thu May 24 10:15:49 2012 -0700

    KERN-2844 Inline the pointless CacheResponseManager into the CacheControlFilter

commit df9c2effce6d35154991260b42bdfc26d65756f4
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Wed May 23 16:42:16 2012 -0700

    KERN-2844 Bring cache save and lookup back into CacheControlFilter, but in its own method for readability

commit ecb51f501d096962a7195bdf3e7e9d42f828a965
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Wed May 23 13:39:54 2012 -0700

    KERN-2844 Extract response cache replay as its own service
KERN-2844 Remove unnecessary props from @Component declarations
KERN-2878 Show correct totals for grouped Solr queries
KERN-2844 Redo service docs using metatype.properties
KERN-2864 Fix bugs and improve performance of Explore People.
- Add integration tests.
- Eliminate need for "users-all.json".
- Delete unused result processor classes.
- Improve system/doc.
Remove unnecessary method parameter 'startingAt'. Consumers of the new method can simply execute skip() on the stream and handle the result.
KERN-2882 Add integration test working area to .gitignore
KERN-2806 Match NGram and EdgeNGram to auto-completion UX
- Improves quality of results.
- Shrinks Solr indexes.
KERN-2870 Update indirect counts when deleting content where sakai:showalways is 'true'
KERN-2886 Eliminate unnecessary wildcards in related-contacts filler
Squashed commit of the following:

commit b394ad113bb24a9c0b08dfd841efb2d5ef79918a
Author: Lance Speelmon <lance@speelmon.com>
Date:   Mon Jun 4 19:53:25 2012 -0700

    KERN-2866 Add coverage for LiteBasicLTIConsumerServlet and remove unused code.

commit 2e2d1479ba89dbb9af267ffe1f69c9e61bf31d40
Author: Lance Speelmon <lance@speelmon.com>
Date:   Tue May 29 17:00:11 2012 -0700

    KERN-2866 Add full coverge for LiteBasicLTIPostOperation#doRun method.

commit ffa6dffcd28b6edd4b3387147fa8429ba0197d9e
Author: Lance Speelmon <lance@speelmon.com>
Date:   Fri May 25 14:25:28 2012 -0700

    KERN-2866 full coverge for LiteBasicLTIPostOperation#createSensitiveNode method.

commit eb235794a5ee88f262d2466fdb2593bb220bb466
Author: Lance Speelmon <lance@speelmon.com>
Date:   Fri May 25 08:51:25 2012 -0700

    KERN-2866 Add coverage for LiteBasicLTIServletUtils

commit 5cf05f50c179153e983e1093fa507c19101ece9b
Author: Lance Speelmon <lance@speelmon.com>
Date:   Fri May 25 08:05:17 2012 -0700

    KERN-2866 Added coverage for BasicLTICLEToolPropertyServletTest

commit 0655c7f227cf22dc57e271014d926d7484ac0f1c
Author: Lance Speelmon <lance@speelmon.com>
Date:   Thu May 24 16:43:04 2012 -0700

    KERN-2866 100% coverage for CLEVirtualToolDataProvider.
Merge pull request #811 from raydavis/KERN-2878

KERN-2878 Show correct totals for grouped Solr queries
Merge pull request #809 from ctweney/kern-2844-squash

 HTTP cache infrastructure improvements
Merge pull request #815 from mrvisser/kern2873

 Remove unnecessary method parameter 'startingAt'. Consumers of the new m...
Merge pull request #816 from raydavis/KERN-2882

 Add integration test working area to .gitignore
Merge pull request #819 from mrvisser/kern-2870

 Update indirect content counts when deleting content where sakai:showa...
KERN-2891 Remove unused random content search code
KERN-2889 Extract reusable locale and timezone logic from LiteMeServlet
KERN-2890 Add timezone and locale support to LTI consumer launch payloads
KERN-2889 Extract reusable locale and timezone logic from LiteMeServlet
KERN-2890 Add timezone and locale support to LTI consumer launch payloads
fix merge conflict in bundles/user/impl/pom.xml