Less complex branched data error messages.
Improved comprehensibility of database availability logging.

- We no longer use a counter for boot-strap availability, instead components
  mark themselves as blocking during startup, which means they will be included
  in the description of why the database is unavailable during startup.
Merge pull request #2689 from jakewins/2.0-brancherr

Less complex branched data error messages.
Merge pull request #2685 from jakewins/2.0-availabilitydec

Improved comprehensibility of database availability logging.
Fix a memory leak in RerferenceCache

The leak was caused by the fact that when inserting new data in the cache
noone is cleaning up the old GCed values still present in the cache.
Indeed the cleanup was triggered only by updating existing node which have
been GCed or at some extend by getting GCed values.

This PR also tries to improve the polling when during get/remove by looking
to the whole queue instead of just removing the single element.
Merge pull request #2695 from davidegrohmann/1.9-fix-leak-ref-cache

Fix a memory leak in RerferenceCache
Identifiers introduced outside of FOREACH should be in scope inside FOREACH
Merge remote-tracking branch 'upstream/1.9-maint' into 2.0-maint

Conflicts:
	community/kernel/src/main/java/org/neo4j/kernel/impl/cache/Cache.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/cache/NoCache.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/cache/ReferenceCache.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/cache/ReferenceWithKey.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/cache/ReferenceWithKeyQueue.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/cache/SoftValue.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/cache/StrongReferenceCache.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/cache/WeakValue.java
	community/kernel/src/test/java/org/neo4j/kernel/impl/cache/ReferenceCacheTest.java
	community/kernel/src/test/java/org/neo4j/kernel/impl/cache/TestCacheTypes.java
	enterprise/ha/src/main/java/org/neo4j/kernel/impl/cache/GCResistantCache.java
Merge pull request #2700 from davidegrohmann/merge-1.9-into-2.0

Merge 1.9 into 2.0
Merge remote-tracking branch 'upstream/2.0-maint' into 2.1-maint

Conflicts:
	enterprise/ha/src/main/java/org/neo4j/kernel/ha/HighlyAvailableGraphDatabase.java
Merge pull request #2699 from jakub-/foreach-not-seeing-all-identifiers

Identifiers introduced outside of FOREACH should be in scope inside FORE...
Fix state bug from upgrading a shared lock using tryExclusive()

If a shared lock is held when sharedExclusive was called, the local lock
state in the client would not be updated properly, instead the call would
return early from this code path. It should have continued the loop to acquire
locks, and it should have updated the local lock map state.

Now it does, this appears to have been a copy-paste error.
Merge pull request #2702 from jakewins/2.1-release-upgrade-try

Fix state bug from upgrading a shared lock using tryExclusive()
Merge pull request #2701 from davidegrohmann/merge-2.0-into-2.1

Merge 2.0 into 2.1
Make Cypher not introduce eagerness in some trivially decidable cases

In particular, we do not want the plan for:

```MATCH a, b CREATE (a)-[r:X]->(b)```

to contain an EagerPipe.
Merge pull request #2687 from jakub-/read-write-interference

Less eagerness for Cypher
Updated changelogs in preperation for 2.1.3
Make Maven happier about the new integrationtests module
Merge pull request #2706 from chrisvest/2.1-integrationtests

Make Maven happier about the new integrationtests module
Merge pull request #2705 from chrisvest/2.1.3-changelogs

Updated changelogs in preperation for 2.1.3