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
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
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.
Consistency checker: use last committed transaction id as baseline for injected transactions.
Consistency checker: unwind nested test setup.
Test and fix for failing to start transaction in MasterImpl.
Merge pull request #1484 from akollegger/desktop-server-config

neo4j-desktop use of server properties
Merge pull request #1456 from apcj/2.0-ccheck-node-to-indexes

Consistency checker: check that nodes are indexed.
Improve thread safety of EphemeralFileSystem.

The file system needs to be synchronized around the buffer that holds
the actual data. Also, the "scratch pad" buffers for reading chunks from
those data buffers may not be shared between threads.
Merge pull request #1482 from benbc/2.0-legacy-installer

2.0 legacy installer
Consistency checker: close index accessors.