Remove unused code
Add consistency-check as a dependency of community/neo4j
Exclude opencsv from being packaged within /system/lib as it's already packaged within /lib
More help for the import tool.
Disable varlength planning in Ronja and fallback to the legacy planner
Merge pull request #3528 from lutovich/2.2-packaging-consistency-check

2.2 packaging consistency check
Lock-free loading of relationships

Removes node lock previously used during loading of relationships. This
lock would contend with committing transaction and produce latency issues.
The lock prevented cache poisoning issues introduced by race conditions
between committer and reader(s).

To achieve a lock-free solution some guards had to be added for various
corner cases. These are:
- Committers are now aware of ot he fact that, and parries for,
  concurrent readers loading and caching relationships committed by the
  committer, before the committer has put them into cache itself,
  producing duplicates when the committer would add them.
  (Issue comes from the fact that store is updated before cache).
- Committers uses knowledge about how relationhips are stored on disk to
  be able to tell if any reader has loaded the relationships it has just
  written to the store, before updating the cache. This logic sits in a
  filter which is consulted before adding relationships to the cache.
- Nodes evicted from cache as part of being upgraded from sparse to dense
  now happens as part of updating the node instead of as a separate step
  during commit. This to also guard for concurrent readers.
- Simplification and reduction of code and logic of DenseNodeChainPosition
  where all individual chain positions are initialized eagerly, so that
  the filtering logic (as mentioned above) becomes simpler.
- Ordering of relationship-related records when applying transaction
  to store changed to: relationships, relationship groups, nodes so that
  additions to relationship chains are seen atomically by
  concurrent readers.
Merge branch '2.1-maint'

Conflicts:
	community/kernel/src/main/java/org/neo4j/kernel/InternalAbstractGraphDatabase.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/cache/BridgingCacheAccess.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/core/DenseNodeChainPosition.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/core/DenseNodeImpl.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/core/NoTransactionState.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/core/NodeImpl.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/core/NodeManager.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/core/ReadOnlyNodeManager.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/core/TransactionState.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/core/WritableTransactionState.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/nioneo/xa/NeoStoreTransaction.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/transaction/command/Command.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/transaction/state/NeoStoreTransactionContext.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/transaction/state/RelationshipCreator.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/util/RelIdArray.java
	community/kernel/src/test/java/org/neo4j/kernel/impl/cache/CacheRaceTest.java
	community/kernel/src/test/java/org/neo4j/kernel/impl/store/TestNeoStore.java
	community/primitive-collections/src/test/java/org/neo4j/collection/primitive/hopscotch/PrimitiveLongSetTest.java
	community/udc/src/test/java/org/neo4j/ext/udc/impl/DefaultUdcInformationCollectorTest.java
Fixing manual build
Merge pull request #3529 from nawroth/import

More help for the import tool.
Broke out property encoding into separate step
Parallelized property encoding in batch importer

by defering creation of property records until time of writing.
PropertyEncoderStep can have multiple threads encoding properties into
PropertyBlocks, attaching them to each entity.
Moving average for batch importer stats
Dynamically (re)assign processors to slowest importer steps

to optimize steps that are seen to be bottle necks. For this the ability
to have multiple stage execution monitors with individual poll interval,
and a custom task executor with dynamically changable thread count have
been added. Both ExecutorServiceStep and IoQueue uses TaskExecutor.

There's an execution monitor that constantly whatches where processors are
assigned and (re)assigns more or less to those where it sees fit.