This moves population and eviction of the "Persistence Cache" into WriteTransaction.

o Takes advantage of the fact that the exhaustive list of labels is known now, so replaces complex sorting/insert with simple replace.
o Does not address, but works around, the fact that labels are still longs in WriteTransaction. This needs to be addressed in a separate commit.
Fixes an issue for negative BrickElement lock count

There were an issue with the if-statements in
BrickElement#getAndMarkWindow() where the brick wasn't always locked,
although it should have been every time before a persistence row was
created over a record, and yet it was always unlocked after use. This
resulted in negative lockCount on BrickElement. Funny how that didn't
cause problems, such as indefinite wait in allocateNewWindow which
contains a loop that awaits lockCount == 0.

Added an assertion for lockCount being equal to or greater than 0. There
are already some tests that failed by just adding that assertion and not
fix the lock counting issue. That's why this commit has no explicit tests
for the issue.
Don't push Desktop artifacts

As the Maven server doesn't care for it, and it fails the build.
We could fix that on our own Maven server, but it's less likely
that the Maven Central guys will want to do the same.
Fixes manual build
Extend the type system with coercion

To allow collections to be treated as boolean values, this commit
introduces the concept of type coercion to the type system.
Add CoercedPredicate to handle type coercion at runtime
Make patterns as expressions be treated as predicates or collections

Patterns used where an expression of any type is expected will return a
collection of the matching paths. When the pattern is used where a
predicate is expected, the pattern expression will instead return true/false.
Remove PatternPredicate

PatternPredicate(...) does the same thing as NonEmpty(PathExpression(...))
For the sake of less code, remove PatternPredicate.
Merge pull request #1340 from tinwelint/1.9-fix-negative-pwp-lock-count

Fixes an issue for negative BrickElement lock count
Ensure indexes are only reported as added if they actually have been created
Merge pull request #1331 from systay/pattern-collections

Pattern collections
Added missing asciidoc formatting.
Ensure constraint creation is idempotent from Cypher

o Change QueryContext.addIndexRule and createUniquenessConstraint to return IdempotentResult[V] instead of (V, Boolean)
Test for persistence window pool brick lock issue

See commit 723933f275bc2f366ad82ce95784fb18d29852fd for the commit that
fixed the issue, also description about the fix there. This is a test to
verify that behaviour.
Merge pull request #1343 from boggle/2.0-idempotency

2.0 idempotency
Fixes off-by-1 in BigLabelStoreGenerator
Merge pull request #1339 from jakewins/fix-cache-eviction

This moves population and eviction of the "Persistence Cache" into Write...
Remove the reference node.
Remove reference node from Cypher tests
Merge branch '1.9-maint' into 2.0-merge-in-1.9

Conflicts:
	community/cypher/src/docs/dev/syntax/expressions.asciidoc
	community/kernel/src/main/java/org/neo4j/kernel/impl/storemigration/legacystore/LegacyDynamicStoreReader.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/storemigration/legacystore/LegacyNeoStoreReader.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/storemigration/legacystore/LegacyPropertyStoreReader.java
	community/kernel/src/test/java/org/neo4j/kernel/impl/nioneo/store/TestPersistenceWindowPoolContention.java