Initial commit of Infinispan module
forgot pom file update
Merge branch 'fix-for-performance' into infinispan
Merge branch 'fix-for-performance' into infinispan
Merge JMX stats from all Infinispan instances

Avoids this exception during manager startup:

org.infinispan.jmx.JmxDomainConflictException: Domain already registered org.infinispan when trying to register: type=CacheManager,name="DefaultCacheManager"
        at org.infinispan.jmx.JmxUtil.buildJmxDomain(JmxUtil.java:52)
        at org.infinispan.jmx.CacheManagerJmxRegistration.updateDomain(CacheManagerJmxRegistration.java:79)
        at org.infinispan.jmx.CacheManagerJmxRegistration.buildRegistrar(CacheManagerJmxRegistration.java:73)
        at org.infinispan.jmx.AbstractJmxRegistration.registerMBeans(AbstractJmxRegistration.java:37)
        at org.infinispan.jmx.CacheManagerJmxRegistration.start(CacheManagerJmxRegistration.java:41)
        at org.infinispan.manager.DefaultCacheManager.start(DefaultCacheManager.java:561)
        at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:197)
        at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:115)
        at com.thinkaurelius.titan.diskstorage.infinispan.InfinispanCacheStoreManager.<init>(InfinispanCacheStoreManager.java:38)
        at com.thinkaurelius.titan.diskstorage.infinispan.InfinispanCacheStoreTest.<init>(InfinispanCacheStoreTest.java:14)

This should probably turn into a configurable option honored by the
Infinispan manager that defaults to merging when unspecified.
Remove Infinispan's specialized surefire config

Infinispan now uses Titan's default surefire plugin configuration to
execute its tests.  I didn't see any obvious reason that it needs a
custom config.
Add infinispan to distros and the all-jar

"distros" means the -all and -server zipfile archives
Add skeletal Infinispan config file
Recognize "infinispan" as a storage.backend value
Add infinispan log4j.properties test resource
Add Infinispan subclasses of abstract tests
Tweaks and fixes to Infinispan cache & manager

* Made close() and clearStorage() in InfinispanCacheStoreManager use
  Infinispan's internal set of cache names instead of an external map
  of Strings to InfinispanCacheStore instances.  openDatabase(String)
  still uses the external map, but this probably isn't technically
  necessary.

* Made replace() in the cache implementation obey its method contract
  when the actual value in the map does not match the expected value

* Made the manager's getName() method return the default
  Object#toString() -- this change probably isn't necessary for
  correctness, but it's more conservative than what it replaced
Rewrite ByteBufferUtil#hashcode(...) methods

The implementations of ByteBufferUtil#hashcode(...) for StaticBuffer
and ByteBuffer argument types seemed increasingly likely to go to zero
as the input size grew longer.  I found this accidentally through
Infinispan testing, where the prior implementation produced the
hashcode 0 for all StaticBuffer instances generated by the test
InfinispanCacheTitanGraphTest#testLargeJointIndexRetrieval (most of
which were nonzero overall but had many leading zero bytes).

I rewrote these methods according to the standard hashcode template in
Effective Java 2e by Josh Bloch (Item 9, page 47).

The change to hashcode(StaticBuffer) reduced the runtime of this IS
test method from about 6:30 to 0:15 on my box (minutes:seconds).  The
ByteBuffer version is untested.
Disable excessive logging
Shutdown graph properly in Infinispan graphdb test

Avoids the following spurious exception caused when merely clearing
the graph storage after a test completes without shutting the graph
down entirely:

Exception in thread "Thread-112" com.thinkaurelius.titan.core.TitanException: Could not acquire new ID block from storage
        at com.thinkaurelius.titan.graphdb.database.idassigner.StandardIDPool.renewBuffer(StandardIDPool.java:116)
        at com.thinkaurelius.titan.graphdb.database.idassigner.StandardIDPool.access$100(StandardIDPool.java:14)
        at com.thinkaurelius.titan.graphdb.database.idassigner.StandardIDPool$IDBlockThread.run(StandardIDPool.java:171)
Caused by: com.thinkaurelius.titan.diskstorage.PermanentStorageException: It seems there is a race-condition in the block application. If you have multiple Titan instances running on one physical machine, ensure that they have unique machine idAuthorities
        at com.thinkaurelius.titan.diskstorage.idmanagement.ConsistentKeyIDManager.getIDBlock(ConsistentKeyIDManager.java:122)
        at com.thinkaurelius.titan.graphdb.database.idassigner.StandardIDPool.renewBuffer(StandardIDPool.java:110)
        ... 2 more
Minor modularization of EdgeSerializer
Performance optimization by introducing SimpleVertexQueryProcessor that can handle the most common queries more efficiently.
Refactored construction into VertexCentricQueryBuilder to make it centralized.
Merge branch 'infinispan' of https://github.com/thinkaurelius/titan into infinispan
Merge branch 'master' into infinispan

Conflicts:
	titan-core/src/main/java/com/thinkaurelius/titan/graphdb/transaction/StandardTitanTx.java