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
Cleanup EideticRequestMonitor
IdMapping interface for BatchImporter that makes sense

derived from actual use case. Although there's only one implementation,
which is to use the actual node ids provided directly from the input
entities.

Basically the changes consist of:

 * having InputEntity#id(), InputRelationship#startNode()/endNode() return Object
 * IdMapper has something closer to an index interface with put and get
 * IdMapping is provided to BatchImporter#doImport and couple an IdMapper
   and IdGenerator (batch import version of an id generator)
 * NodeStage uses IdMapper#put in conjunction with IdGenerator#generate and
   IdMapper#sort in the end
 * RelationshipStage calls IdMapper#get
Merge pull request #3063 from tinwelint/2.1-proper-id-mapper-interface

IdMapping interface for BatchImporter that makes sense
Add parens to documented cypher queries
Merge pull request #3066 from cleishm/cypher-doc-parens

[2.1] Add parens to documented cypher queries
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.
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.
Specify the right local effects on the optional match pipe
Merge pull request #3084 from jakub-/optional-match-eagerness

Specify the right local effects on the optional match pipe
Introduces CC check for duplicate property indexes in a given property chain

The check happens on first property checks, which then traverses the whole
 chain, recording duplicates
Adds a new report error in ConsistencyReport for the new type of inconcistency

As a note, this is a slight bending of the CC framework. It is the first check
 that requires state, whereas all previous cases required single record access
 only. Whether we change CC to accomodate this or we add a new type of "stateful"
 checks, that remains to be seen.

Moves logging for the runtime detector to be a responsibility of NodeManager,
 via an Observer pattern
Clarify default cache type per edition
Completes the IdMapper interface change

by letting InputRelationship deal with Object ids for start/end nodes.
Now it became apparent that stages 1 and 2 cannot be executed in parallel
if the IdMapper needs preparation. Put that check in and added comments
about it.
Fixes a license header
Merge pull request #3056 from davidegrohmann/2.1-cleanup-eidetic-req-monitor

[2.1] Cleanup EideticRequestMonitor
Merge pull request #3079 from digitalstain/2.1-fix-duplicate-properties

[2.1] Detect duplicate properties
ParallelBatchImporterTest should have a test for the writer factory enabled by default

Details:
 - make sure we test the default configuration in ParallelBatchImporterTest
 - refactor to allow to test all the possible configuration
 - disable the test with IoQueue due to a known issue in parallelizing I/O writes
 - make package protected the constructor used only for testing
Improved comments in doImport
Make Funnel independent from IoQueue