Introduce ternary logic in Cypher

o Make Predicate return Option[Boolean] instead of Boolean
o Introduce isTrue that returns false for all cases except when the
   predicate returns Some(true)
o Add logic for IN, ANY, ALL, SINGLE and NONE to handle nulls
o Add a new section on working with nulls to the manual
Make OtherThreadExecutor implement Closeable to make orderly thread
shutdown easier.

o Callers can now use try-with-resources.
Make NestedTransactionLocksIT more readable.
Ensure that all tests close transactions reliably.

o Recent changes to database shutdown mean that we now wait for transactions
   to finish when shutting down. This mean that each of the many tests which did
   not close their transactions was hanging for 20 seconds before failing.
Rename the GCR Cache to High-Performance Cache
Added more information about the refnode deprecation. Point to the correct live console server.
Revert "Revert "Added additional HA logging.""

This reverts commit 9950dc2c92ab7fa71b3be32026fb37f56cd64e08.
Resolve incorrectly merged paxos lifecycle management.

o Re-introduce the paxoslife that was removed as part of the merge conflicts.
o Resolves a race condition in which the cluster would hang during switch to slave in
  some alignments of stars.
Fixed the linked list example queries. Moved it to the graphgist format.
Merge pull request #1474 from jakewins/merge-unclosed-txns

Fix unclosed transactions in tests, re-enable proper shutdown cycle.
Revert "Revert "Revert "Added additional HA logging."""

This reverts commit 8ce073949bb425fb1120b3c308f18caa871d8139.
Adds a script that detects skipped tests.
Fix problem when using MERGE and indexes exist
Merge pull request #1476 from jakewins/rename-cache

Rename the GCR Cache to High-Performance Cache
Change locking of nodeGetUniqueFromIndexLookup

o Now guaranteed to hold a read lock if a node is existing or a write lock if no node was found
o Use a fresh index reader to see concurrent changes
o This commit fixes some code analysis warnings
o Ensure InMemoryIndex does not apply updates idempotently when not used as unique index
o Make sure that we work with index descriptors correctly w.r.t. schema
o Take schema read lock
o Use forceGetRecord when using loading schema rules
o Do not verify if a constraint index is online from Cypher
   (they always are and if not due to failure that is detected by kernel)
o Add embedded example on how to use Cypher to create unique nodes to manual
Merge pull request #1458 from systay/ternary-logic

Introduce ternary logic in Cypher
Extract Legacy Installer

* Legacy installers are now in their own files, simplifiying the
start scripts (which reflect a different concern).
* Installation documentation has been enhanced.
* Batch files have been refactored to be a little more readable.
Ensure that the launchd dir exists on OSX

This stops the install failing on a clean OSX install
Better error messages when upgrading unclean store

Now produces more helpful error messages when people attempt to upgrade store files
that have not been shut down cleanly. We don't tell people that we cannot upgrade
from some weird binary string of a version number, but instead correctly tell them
that the store file has not been shut down properly. When this happens, they should
open the store again in the old version, shut it down properly, and then try
upgrading it again. That should do the trick.
use neo4j-server.properties in gui, allowing user to edit it