titan-core performance improvements
query.condition package improvements
Merge branch 'master' into fix-for-performance

Conflicts:
	titan-core/src/main/java/com/thinkaurelius/titan/graphdb/query/AbstractVertexCentricQueryBuilder.java
	titan-core/src/main/java/com/thinkaurelius/titan/graphdb/query/MultiVertexCentricQueryBuilder.java
	titan-core/src/main/java/com/thinkaurelius/titan/graphdb/query/VertexCentricQueryBuilder.java
	titan-core/src/main/java/com/thinkaurelius/titan/graphdb/query/condition/MultiCondition.java
	titan-core/src/main/java/com/thinkaurelius/titan/graphdb/transaction/StandardTitanTx.java
Fixes #417.
add LRU back to VertexCache and remove unnecessary boxing of longs
replace guava cache in LRUVertexCache with Solr based CLRUCache backed by NonBlockingHashMapLong
1) Added subsumption test to CacheVertex so that more restrictive queries can be answered from cache.
2) Renamed ImmutableLongObjectMap to RelationCache
3) Fixed ByteBufferUtilTest by using signum
Merge branch 'fix-for-performance' of github.com:thinkaurelius/titan into fix-for-performance
Rewriting of RelationCache to store properties of the relation directly (not in the map) and corresponding rewrite of EdgeSerializer where PropertiesHeader became redundant.
Changed LRUCache to use putIfAbsent to avoid concurrency issues.
enabled counters in LRUCache so its actually an LRUCache (i.e. keeps track of recency)
fix CLRUC.putIfAbsent to do maintenance only if new item was added + CLRUC.put is back.
fix LRUVertexCache.get on absent items
Activate mem/perf test profiles using properties

Profile activation with -P... has proven brittle and limited because
of the way it interacts with <activeByDefault> (disables all marked
profiles in the same pom but not parent or child poms).  I'm changing
the memory-test and profile-test profile activation criteria.  Now
they activate when -Dtest.mem=true or -Dtest.perf=true are present on
the command line (respectively).  Using -Pperformance-test or
-Pmemory-test is not recommended.
Cleanup titan-cassandra/pom.xml

This commit removes unreferenced properties and reduces the overall
size of the pom by moving the BOP/RP Cassandra test configurations out
of profiles and into the <build> tag of the pom.  Both the BP and RP
tests are enabled by default.  To skip one, set
-Dtest.skip.ordered=true or -Dtest.skip.unordered=true (respectively).
I would rather these properties be named test.ordered and
test.unordered and their boolean sense be negated, but I don't see an
easy way to do it with Maven right now.
fix VertexLRUCache get to actually cache non-existing vertices
refactored sub-result set extraction into SliceQuery and added limit check.
Added StoreFeatures option supportsMultiQuery so that backends can indicate whether they can efficiently execute (i.e. bundle) multiQueries.
Add graph level configuration option parallel-backend-ops, which - when enabled - will create a thread pool that a backend transaction uses to parallelize multiQueries for backends that don't support them natively.
Added check in testGetSlices() for whether the store supports multiQuery
Fixed StoreFeatures for Cassandra.