More parallellization in the batch importer

- Node import stage and calculating dense nodes stage are now run in
  parallell
- All I/O writing is done by IoQueue, which is a separate thread pool with
  configurable amount of threads and a funnel into that pool per store file.

The above have been seen to increase performance by 4x.
IdMapper is an interface

renamed from NodeIdMapper, now used directly in the importer, instead of
the NodeIdMapping indirection which was an enum.
Some refactorings around producers
Fix build problems
Build problems, take 2
Merge pull request #2653 from tinwelint/2.1-parallellize-more-batch-import

2.1 parallellize more batch import
Removes VersionAwareLogEntryReader.writeLogHeader

There was one version of writeLogHeader in VALER and one in
 LogEntryWriterv1. They were exactly the same, so one had to
 go. Having a write method in a reader class is weird, hence the
 version that remains is in LogEntryWriterv1
Merge branch '2.1-maint' into 2.1-upgrade-from-19

Conflicts:
	community/cypher/cypher-compiler-2.1/src/test/scala/org/neo4j/cypher/internal/compiler/v2_1/ast/DecimalDoubleLiteralTest.scala
	community/kernel/src/main/java/org/neo4j/kernel/impl/storemigration/StoreMigrator.java