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
Change dest to 'fonts'.
Update Codemirror

* Codemirror 4.5
* angular-codemirror-ui 0.1.6
Fix Codemirror shortcuts

* Moving some keys from global listening.
* Move Codemirror keymap config to Editor class.
* Run $digest upon codemirror model update.
* Mac shortcuts fixed (Cmd-Up/Down/Enter)
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.
Merge pull request #3067 from oskarhane/codemirror_keys

[master] Codemirror keys
Merge pull request #3069 from oskarhane/fix_fonts_dir

[master] Browser: Fix build font dir.
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.