Resolve varying use of neo4j vs neo4j-community

Now the dependencies are:
(neo4j-enterprise)-->(neo4j-advanced)-->(neo4j)-->(all individual modules)
(neo4j-community)-->(neo4j)

i.e. neo4j-community is only an alias for neo4j, kept for historical
reasons
Merge pull request #3354 from cleishm/module-cleanup

Resolve varying use of neo4j vs neo4j-community
Broke out property encoding into separate step
Parallelized property encoding

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
Ability to have multiple batch importer execution monitors
Our own executor
Dynamically assign processors to slow steps