Shell: save history in home dir. Closes #1395.

Specifically, $PWD/.shell_history is now ~/.neo4j_shell_history.
Consider indexes and constraint-indexes separate for drop & create.

Do not crash in commit (please not ever, but also this case in particular) when drops and creates of overlapping constraints
and indexes happen in the same transaction.

This fixes #1601 DROP INDEX before CREATE CONSTRAINT crashes the database unrecoverably.
The crash was unrecoverable because it happened in commit, and so also crashed the database when we tried to apply the
schema commands during recovery.
Remove commented out dependency from the kernel pom.xml
Minor fix to clustering tutorial formating.
Clearer error messages from PopulatingIndexProxy.
Fix: MERGE should work when finding multiple elements
Allow recreate of indexes and constraints in 1 tx.

This is not an important feature, but recreation, the way the code handled
it before lead to the database becoming unusable, and supporting recreate
is easier than detecting and disallowing it.

This is implemented by making sure that the add/create operations check
for prior removes before actually doing add. In the case of constraints we
also check for the background creation of the index to ensure that this
does not happen again.

More thorough testing for index/constraint creation has been added where
each test case asserts
* that: Create+Recreate: results in creation.
* that: Recreate: results in nothing changing.
* that: Recreate+Drop: results in removal.
Each test case also asserts that recreation in each transaction can be
repeated multiple times. Running this all in a single test cases asserts
that the recreation on the "high level" also works.

When creating an index for a constraint, make sure that we await the
population of the constraint index, and not some other index. In the
cases where we replace an index with a constraint there will be another
index present, so it is possible that we would await that index instead,
which would lead to failure in commit. It is in fact quite likely that
we would await this other index, since this other index is likely to
have a lower rule id.
Merge pull request #1628 from chrisvest/constraint-crash

Constraint crash - Allow recreate of indexes and constraints in 1 tx.
Merge pull request #1629 from boggle/2.0-fix-merge-multiple

Fix: MERGE should work when finding multiple elements
Fix: Should support updates for merging
Minor updates to Cypher documentation.
Brutal detection of Internet Explorer.

Warn about browser incompatibility until we merge fixes
for IE-specific bugs.
Merge pull request #1631 from digitalstain/2.0-revert-failed-state-transition

2.0 revert failed state transition
Time out instead of block indefinitely.
Fix for problem with index lookups against properties

Index lookups use expressions to dynamically produce the value
being searched for. The expressions might have symbol table
dependencies that are not met, and in these cases Cypher should
not use index seeks. This commit makes it so.
Merge pull request #1633 from nawroth/cypher-fixes

Minor updates to Cypher documentation.
Documentation updates
Updated the note on MERGE being new.
Merge pull request #1636 from systay/index-expression-deps

Fix for problem with index lookups against properties
Re-order documentation sections for better readability.