[TORQUE-830] Add a spec.
[TORQUE-830] Add ActiveSupport::Cache::TorqueBoxStore spec.
[TORQUE-806] Add integration tests for shared caches in standalone mode.

Currently, shared caches do not work unless they are persisted with the
:persist => [true|path] option. In-memory cache sharing is pending.
[TORQUE-806] Make caches available to all runtimes in standalone mode.
[TORQUE-806] Refactor TorqueBox::Infinispan::Cache to work in container.

These changes ensure a few things.
1) All ruby runtimes are using the same cache, so that data can be
shared between them regardless of the persistence behavior.

2) All Infinispan cache containers are non-clustered when run in
standalone mode, and clustered when run from standalone-ha.

3) When not run in a torquebox context, the cache shouldn't barf.

There are still some failing specs. In gems/cache, attempting to test
clustered mode when not in-container is proving problematic. In the
integration tests, cache rollback behaves badly in failed distributed
transactions.
[TORQUE-806] Make caches available to all runtimes in standalone mode.
Add clustered integration specs for cache.

This integration tests only works because I've made a change to
Cache#cache to _not_ reconfigure the cache at runtime. If I reconfigure,
we can't determine that we're running in clustered mode, so the cache
thinks it's in LOCAL mode and reconfigures itself as such.
Checkpoint commit
[TORQUE-806] Add org.torquebox.cache.as.CacheService.

Add a CacheService that contains an infinispan CacheContainer and some
metadata - specifically, a boolean flag that will tell us if we're
running the AS in clustered mode or not.  Change the cache container
name to "polyglot" in anticipation of moving this out to jboss-polyglot.
The cache service name can't be an alias, so make it conditional based on isClustered()
Keep cache container running after undeploy of an application.
Fix formatting per TorqueBox standards
Install CacheService at boot time, not deploy time.

This ensures that there's only one service per AS. Mark the clustered
transactional cache spec as pending.
Move cache module to jboss-polyglot.
Fix the TorqueBox build by bringing in the polyglot-cache module
[TORQUE-830] Require torquebox-cache by default.

In addition to requiring torquebox-cache from require 'torquebox',
torquebox-cache/lib/gem_hook.rb now conditionally requires
active_support/cache/torque_box_store conditionally based on whether we
get a NameError when looking for ActiveSupport.
Unpend domain cache rollback test [TORQUE-855]

The 'repl' cache defined in domain.xml doesn't set a TMLookup
instance, so it isn't enlisted in the tx started in the test. Not
referring to an existing cache in torque_box_store.rb forces the
configuration of a new class and more importantly, sets a TMLookup. I
think it's good because it allows the rails developer to set the
desired replication mode in config/application.rb rather than
domain|standalone.xml.
[TORQUE-875] Make the default clustering mode for caches :distributed.

All TorqueBox::Infinispan::Cache instances default to distrubuted mode
when run in a clustered environment, and local mode when run standalone.
However, for performance reasons, all
ActiveSupport::Cache::TorqueBoxStore instances default to invalidation
mode. This commit updates the documentation to make that clearer, and
adds domain mode specs.
Add clustery specs for caches used in message processors.

There have been reports of problems sharing data across nodes in a
cluster if the cache is created or used in a message processor. I have
not been able to reproduce the error, so instead just wrote a spec for
it to show that it should work.
Add specs for TORQUE-858 which appears to be not a bug.