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.
Move PeriodCommitHint AST node out of Clauses

And rename Hint to UsingHint
For annotation, use ASTNode+Position over objId
Use SemanticState to track expandStar rewrites
Split ClosingClause

Into HorizonClause for scoping, and ProjectionClause for projection
Make expandStar match on clauses

Rather than on the ReturnItems
Introduce _PRAGMA WITH NONE

Used when all projections have been inlined
Introduce _PRAGMA WITHOUT

Used to remove identifiers from scope
Use _PRAGMA WITHOUT to remove introduced identifiers
Allow additional items on `WITH *` and `RETURN *`

e.g. `WITH *, 1 AS m`

Also use this in pre-semantic-check rewriting, to ensure
`ORDER BY` clauses on `WITH *` and `RETURN *` are correctly normalized,
removing the need to do this again during `projectFreshSortExpressions`.
Merge pull request #3115 from cleishm/semantic_playground

Allow additional items on `WITH *` and `RETURN *`
Unpacking of transaction logs occurs right after response deserialization
Introduce an Exists predicate to be used in the absence of meaningful predicates on a node
Fix Muninn memory leak from pool PageCursors

The cursor freelists were anonymous inner classes of the MuninnPagedFile class,
and this meant that they were accidentally strongly referencing the Page
freelist.
This meant that if we made use of thread-local PageCursor pooling, the cursor
freelist would keep all pages alive that could be reached through the page
freelist. And the cursor freelists were kept alive by the cursors, who in turn
was kept alive by thread-local references.
This way, a potentially very large amount of pages could be kept live after the
page cache had been shut down, because threads that had accessed it were still
running.
This was especially a problem for unit tests, since they fork only a few JVMs,
have a main thread that runs all tests, and many tests start and stop database
instances, and thereby also starts and stops page caches.

The fix was to make the cursor freelist classes static, so they no longer hold
a reference to the page freelist. Further more, the page freelist is now also
nulled out when the cache shuts down, even though this isn't strictly
necessary for fixing this issue.
Reenable the advesarial FSA based page cache test

Muninn was already passing it and we don't have the StandardPageCache any more