Internal server cleanup

This does not go quite as far as it should, but goes a little way towards
cleaning up stray items in the server. The package structure needs a bigger
cleanup, but that job is much more complex as several interfaces in the
internal packages are exposed as public API and are thus unmoveable directly.

- Remove unused services and classes
- Move REST service classes into rest package
Hide the `mapped_memory_page_size` configuration.

I don't think there's any need to put this in front of users.
It's a high-level expert setting and really should only be experimented with by us.
Fix error in UNWIND docs.
Let the database page cache be injected into the store migration, so the participants don't have to create their own if need be.

Also reduced the memory consumption of a number of tests, and transitioned many tests to using the PageCacheRule, instead of the StandalonePageCacheFactory.
Merge pull request #3516 from nawroth/2.0-unwind

Fix error in UNWIND docs.
Merge pull request #3507 from jakewins/2.1-server-clean

Internal server cleanup
Merge remote-tracking branch 'upstream/2.1-maint'

Conflicts:
	community/server/src/main/java/org/neo4j/server/AbstractNeoServer.java
	community/server/src/main/java/org/neo4j/server/CommunityNeoServer.java
	community/server/src/main/java/org/neo4j/server/NeoServerSettings.java
	community/server/src/main/java/org/neo4j/server/configuration/Configurator.java
	community/server/src/main/java/org/neo4j/server/database/DatabaseHosting.java
	community/server/src/main/java/org/neo4j/server/database/DatabaseRegistry.java
	community/server/src/main/java/org/neo4j/server/modules/StatisticModule.java
	community/server/src/test/java/org/neo4j/server/StatisticsCollectionEnabledDocIT.java
	community/server/src/test/java/org/neo4j/server/database/DatabaseHostingIT.java
	community/server/src/test/java/org/neo4j/server/database/DatabaseRegistryTest.java
	community/server/src/test/java/org/neo4j/server/webadmin/rest/RootServiceDocTest.java
	enterprise/server-enterprise/src/main/java/org/neo4j/server/enterprise/EnterpriseNeoServer.java
Merge the 2.1-maint merge
Merge remote-tracking branch 'upstream/2.0-maint' into 2.1-maint
Merge branch '2.1-maint'

Conflicts:
	community/cypher/docs/cypher-docs/src/test/scala/org/neo4j/cypher/docgen/UnwindTest.scala
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.
Use a DURATION parser when reading the 'query time to live' from the settings

- make sure that the queryPlanTTL is read before the creation of the compilers and injected when needed to avoid
  single components to read the configuration.
Inject a Clock instead of creating manually Dates for retrieving time in plan fingerprint
Check txId on the candidate stale plan after having check the timestamp

- better code for accessing the last tx id
Inject statistics divergence threshold into the ExecutionPlanBuilder
Fix flakiness: UniqueConstraintStressIT

The expected result set was not sufficiently large; specifically
creating the constraint can fail and cause some of the node creation
to fail as well, not due to a constraint violation, but due to a
concurrent schema creation on master. The old code had several
logical faults.

The slave transactions can also fail due to a ComException, due to the
RequestContext used for the lock-session on master already being
in use. This is a known and expected behaviour in itself, but it
is not really known why it occurs in this test since it only has one
thread doing slave transactions. The strategy so far is to catch
and ignore it, but it is probably worth investigating and explaining.
Disable varlength planning in Ronja and fallback to the legacy planner