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'.
Cleanup EideticRequestMonitor
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.
Disable pretty printing ast nodes for now

We need and know how to fix excessive stack useage of perty; now's not the time for it.

If you want it back for debugging, just un-commment in ASTNode.
Replace uses of Map.mapValues (which is lazy) with Eagerly.(mutable|immutable)mapValues

o Deprecate Materialized from commons (see comment there)
Log when property chains have duplicates

* Introduces the cappedLogger in StringLogger.
* Add a PropertyChainVerifier that checks the consistency of property chains as
  they are loaded.
* Add a PropertyChainVerifier implementation that logs when it finds
  duplicates.
Merge pull request #3082 from boggle/eager-map-vals

Replace uses of Map.mapValues (which is lazy) with Eagerly.(mutable|immu...
Merge pull request #3080 from boggle/disable-perty

Disable pretty printing ast nodes for now
Initial identifer namespacing work
Make namespaceIdentifiers less invasive

The rewriter will only introduce special names for identifiers if
there's shadowing involved. Specifically, if an identifier is never
projected through from one scope to another, it will not be altered.
In addition, trivial projections such as `WITH n AS n` are also
understood not to introduce ambiguity to identifiers.
Specify the right local effects on the optional match pipe
Simplify inliningContext given our new contracts for shadowing

This also allows for more aggresive inlining. See StatementConvertersTest
for examples of AST -> PlannerQuery conversions that are now more inlining
happy.
Improve the clustering of identifiers to address scoping limitations
Move the namespaceIdentifiers rewriter to Planner
Merge pull request #3084 from jakub-/optional-match-eagerness

Specify the right local effects on the optional match pipe
Merge branch '2.1-maint'

Conflicts:
	community/cypher/cypher-compiler-2.2/src/main/scala/org/neo4j/cypher/internal/compiler/v2_2/executionplan/builders/OptionalMatchBuilder.scala