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.
New Grunt task to serve dist build
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 #3119 from tinwelint/2.2-fix-count-cmd-header

[2.2] Counts command now always writes the command type header
Fix to remove the js error when opening/closing frames.

TypeError: undefined is not an object (evaluating 'val.replace')
These js files are still included unless they are
comment out with //- or completly removed.
They should not be there in the first place.
Affects browser < 2.2.
Merge pull request #2849 from jakewins/2.1-cache-config

[2.1] Introduce cache.memory_ratio configuration for HPCache
Merge pull request #3020 from rickardoberg/rollbackhandling

[master] Do id freeing on rollback
Merge pull request #3076 from jakewins/2.0-gc-logging

Improvements to the application pause monitor.
Merge pull request #3122 from craigtaverner/card-459

[2.2] Intermix optional match and cartesian product steps
Merge pull request #3108 from davidegrohmann/2.2-fix-flaky-test

[2.2] Fix test DatabaseRegistryTest#shouldAwaitRunningQueriesBeforeDropping
Merge branch '2.0-maint' into 2.1-maint

Conflicts:
	community/browser/app/scripts/init/commandInterpreters.coffee
Merge branch '2.1-maint'

Conflicts:
	community/kernel/src/test/java/org/neo4j/helpers/SettingsTest.java
Merge pull request #3114 from lutovich/2.1-rolling-upgrade-from-2.0

[2.1] Revert of "Remove non-versioned elections (2602)" pull request
Expected exception for a bad setting value changed from 2.1
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