Introduce cache.memory_ratio configuration for HPCache

New set-and-forget configuration that specifies cache size as a ratio of the
old generation max size. Memory division across internal components of the cache
is handled by fixed ratios.

If any of the old config (now referred to as "advanced config") is set, it will
override the memory_ratio configuration.
Everything not starting with 'cmdchar' is cypher.

* Also remove old debug message
Improvements to the application pause monitor.

- Use System.nanoTime() to remove false-positive from network time adjustments
  and other external factors.
- Don't track total block time, It isn't a useful metric and it was confusing.
- Have the "trigger" level be the max block time that's acceptable, rather than
  the max block time plus the monitor pause interval.
- Bump the default block time trigger level to 200ms
- Introduce a manual mechanism to verify that the monitor works.
Revert of "Remove non-versioned elections (2602)" pull request
Counts command now always writes the command type header

and will not even exist as a command in the transaction if the delta was
0. This fixes a problem where the reader, always expecting a command type
after a command log entry header to be there, failing to read that
command.
Added notes on ubuntu 14.04 NPM, and MacOSX grunt for browser build dependencies
Jakub added fix for bug on card-459
Fix test DatabaseRegistryTest#shouldAwaitRunningQueriesBeforeDropping

Rationale:
It may happen that the threads in the test are not properly synchronized and
the one shutting down the db is faster than the first one to grap a reference to it.
Hence it might happen that the test fails.

Details:
- A new latch has been introduced to make sure that the thread are properly sunchronized.
- Test class has been cleaned up by introducing a @Before method.
- Fixed 2 deprecation warnings.
Add build option to skip Cypher module

If -DskipCypher is given on the command line all the Cypher related build will be skipped
Merge pull request #3042 from oskarhane/send_all_but_commands_to_server

[2.0] Browser: Everything not starting with 'cmdchar' is cypher.
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)
Do id freeing on rollback
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 #3119 from tinwelint/2.2-fix-count-cmd-header

[2.2] Counts command now always writes the command type header
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.