Revert of "Remove non-versioned elections (2602)" pull request
Added notes on ubuntu 14.04 NPM, and MacOSX grunt for browser build dependencies
Add build option to skip Cypher module

If -DskipCypher is given on the command line all the Cypher related build will be skipped
Added rolling log file support. Default is roll every day, keeping max 7 days history

Refactored database factories to use IAGDB.Dependencies instead of deps one by one

Bug fixes

Merge branch 'master' into rollinglogs

Conflicts:
	community/kernel/src/main/java/org/neo4j/kernel/impl/storemigration/StoreMigrator.java
	community/neo4j/src/test/java/upgrade/StoreMigratorFrom19IT.java
	community/server/src/main/java/org/neo4j/server/CommunityNeoServer.java
	community/server/src/main/java/org/neo4j/server/WrappingNeoServer.java
	enterprise/backup/src/main/java/org/neo4j/backup/BackupTool.java
	enterprise/com/src/main/java/org/neo4j/com/storecopy/StoreCopyClient.java
(cherry picked from commit c6ffd93)
Make optional matches sets and not lists
Move the refcard in under the manual.
Change how greedy the greedy planner is

Before this change, for each step taken in the planning process,
a single best plan would be picked, and added to the plan table.
This would prune out any plans covered by the new best plan.
After this change, Ronja picks the best plan per set of covered ids.
This broadens the search space some, and prepares the planner
to be able to find more effective plans for queries with cycles.
Makes clear three transactions application modes

Internal, external and recovery. This means that we no longer "piggy back"
on recovery mode for external transactions being applied in HA.

This distinction exposed a problem where we evicted nodes unnecessarily
when deleting relationships, even in internal application mode. Another
problem with patching relationship chain caches was exposed and fixed.

This commit also removes the global "recovered status" from stores since
that is no longer applicable to 2.2 where many transactions can apply
commits at the same time. This state has now moved to each transaction
instead.
Merge pull request #3114 from lutovich/2.1-rolling-upgrade-from-2.0

[2.1] Revert of "Remove non-versioned elections (2602)" pull request
Merge remote-tracking branch 'upstream/2.1-maint'

Conflicts:
	enterprise/ha/src/test/java/org/neo4j/ha/upgrade/RollingUpgradeIT.java
Merge pull request #3004 from tinwelint/2.2-tale-of-three-modes

[2.2] Makes clear three transaction application modes
Merge pull request #3132 from davidegrohmann/merge-2.1-into-master

Merge 2.1 into master
Hash join support for joining on multiple keys.
Updates changelogs for 2.1.5
Merge branch 'master' into rollinglogs3

Conflicts:
	community/server/src/main/java/org/neo4j/server/database/DatabaseRegistry.java
	community/server/src/test/java/org/neo4j/server/database/DatabaseRegistryTest.java
Merge pull request #3131 from davidegrohmann/2.1-skip-cypher

[2.1] Add build option to skip Cypher module
Merge remote-tracking branch 'upstream/2.1-maint'
Merge pull request #3127 from rickardoberg/rollinglogs3

[2.2] Support for rolling logs
Fixes issue recognizing inUse of dynamic record

the check looked at the whole upper nibble of the inUse byte and expected
it to == 1, which means that it would not recognize it as inUse if any
other bit in that nibble was set.
Merge pull request #3123 from craigtaverner/master

[2.2] Added notes on ubuntu 14.04 NPM, and MacOSX grunt for browser deps