Parallell data importer

Uses techniques where I/O is only allowed to be sequential. To accomplish
that the records are created in stages (i.e. passes over the records) where
records gets only partly built in each stage. Also uses batching in all
levels down to the file channels.

Since there is bound to be some amount of random access, all such random
access has been isolated into caches that can satisfy that. The size of
the caches depend on number of nodes to import and can reside either in
heap or off heap, where ever there's room.
Using BatchImporter as store migrator
Merge pull request #2409 from tinwelint/2.1-csv-importer--as-migrator

A really fast store migrator