Fixes TORQUE-1079, mostly

Stopping a cache blows away all its data, so we really only want to do
that when its configuration changes. Up to this point, we were only
doing that if the replication mode changed. Now we use all but one of
the relevant options to determine whether to restart a cache.

The one we don't use is :encoding, because we don't actually store
that in the cache or its configuration object. We might do that in the
future, since it makes sense to blow away improperly-encoded cache
entries.

One might ask why we introduce a same_config? method instead of
calling Configuration.equals via Cache#==. We could, were it not for
the TransactionManagerLookup instance, which will differ across JRuby
runtimes.