Add monitor to NamedThreadFactory, so we can track what component created what nr of threads and when.
Merge branch 'master' into threadmonitors

Conflicts:
	community/kernel/src/main/java/org/neo4j/kernel/InternalAbstractGraphDatabase.java
Refactoring of the top level Cypher compiler and how it handles compatibility with older compilers
Introduces ExtendedExecutionResult

ExecutionResult is an interface that, by mistake, is what older compilers implement. Because of this, it
can't be changed in future versions. By introducing ExtendedExecutionResult and having compilers
produce internal ExecutionResults that are translated to the public interface, we preserve the ability
of changing the external interface without having to recompile old compilers.
Reenable ClusterMembersSnapshotTest by moving it in ha package and fix tests
Reenable a test
Remove RemoteRequestMonitoringIT which is a duplicate of TransactionMonitoringIT
More controlled flushing of pending changes as part of closing batching neo store
Merge pull request #2783 from tinwelint/2.2-merge-2.1

2.2 <--[:merge]-- 2.1
Merge pull request #2785 from tinwelint/2.1-fix-pbi-flush

More controlled flushing of pending changes as part of closing batching neo store
Move test packages to their right location
Batch importer actually flushes the current window when told to

this to support proper shutdown of the neostore, where pending changes are
flushed and writes awaited so that the store can be closed properly.
Fixes relationship augmentation when node has self-relationships
Merge pull request #2787 from tinwelint/2.1-flush-bip-windowpool

Batch importer actually flushes the current window when told to
Merge pull request #2778 from davidegrohmann/2.2-fix-todos

Test cleanups
Merge pull request #2784 from jexp/rel-augmentation-loop

Fixes relationship augmentation when node has self-relationships
More information in invalid entry exception message
Fixes bitmask issue in index command header reading

observed behaviour would be that the next entry in the log would be
missing a couple of bytes in the beginning, most notably the log entry
version, so that command type would be read into log entry type field
and potentially throw exception saying "unknown entry[X]" or throw an
exception in the vicinity of such command in other interesting ways.
Test cleanup
Merge pull request #2790 from tinwelint/2.2-fix-index-cmd-mask

Fixes bitmask issue in index command header reading