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
Rename the GCR Cache to High-Performance Cache
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
Merge pull request #1465 from systay/merge-with-index

Fix problem when using MERGE and indexes exist
Proper cleanup on failed transaction commit in MasterImpl, added more logging.
Debug logging for channel.acquire in Client.java
Cypher null docs: fixing one doc bug and AsciiDoc table syntax.
Adds cluster wait conditions after shutdown in IndexOperationsIT
Remove the OSGi example, the test has been ignored for a long time.
Merge pull request #1470 from boggle/2.0-node-get-unique

Fix locking of nodeGetUnique
Fixed #1471 - SETting a relationship to a map value fails
Merge pull request #1483 from chrisvest/better-upgrade-error-messages

Better error messages when upgrading unclean store
Merge pull request #1485 from systay/1471

Fixed #1471 - SETting a relationship to a map value fails
Consistency checker: check that nodes are indexed.

o Directly use PropertyStore instead of the RecordAccess API
  to reduce code duplication at the expense of deferred check mechanism.
  This could prove to be an expensive check because of the need to read
  whole property chain for each node.
o Add parameters for turning off label scan store and index checks.
o Check uniqueness of unique indexes.
o Keep index accessors open for duration of entire consistency check.
o Extract tasks into their own class.