Revert "Revert "Move pretty printing of ast nodes to ASTNodes""

This reverts commit 853c20d7332cf5d46a7752ceb04352defb9e543a.
Make Pretty take an inner doc gen for rendering child nodes

o Makes ASTNode render using default
o Factors out ToString concern more clearly
Moving ast doc pretty printing to doc builders again but this time using the converter pattern
Pretty-printing collections
Fix astDocBuilder to properly pretty print nested values
Add astStructureDocBuilder for printing both ast and structure
Various pretty printing tweaks

o Support ast.Parameter
o Disable astStructureDocGen for now
o Add Doc.noBreak
Extract core of perty function composition into separate bling package

o Improves error handling
  o Uses total functions to Option to be more aware of error situations
  o Inline with concrete docGens instead of weird outer wrapper
    (error handling is a docGen local concern with a sane default)
o Replaces all of docbuilders and docgenerator types with new DocGen[-T]
o Temporarily disables ast support
o Rename HasDocFormatter => DocFormatting
o Rename HasDocGen => DocHandler
o Rename ASTTerm => ASTPhrase
o Prepares ast printing to use converter pattern (not hooked in / commented out)
Ported tests to use new perty
Store application ordering of transactions w/ legacy index changes

Only a single transaction at a time can append to the log buffer, but
multiple transactions can apply changes onto the store simultaneously in
2.2. For graph and schema indexing changes there are the high level
entity locks that guarantee correct ordering of transactions wanting to
change the same records. However for legacy indexes there are no such
ordering. This might result in for example an REMOVE+ADD turning into a
ADD+REMOVE, i.e. two different end results.

So, this commit introduces ordering of transactions making any legacy
index changes so that such transactions gets applied in the same order
as they were appended to the log. Transactions that doesn't change
any legacy indexes will not be ordered like this and will pay no cost
whatsoever for the ordering introduces here.

This commit also adds apply() to NeoCommandHandler such that
CommandApplierFacade can call a round of apply() to all appliers and the
another round of close(). This fixes an issue where store application
locks would be released too soon.
Previously:
  * apply graph changes
  * release graph update locks
  * apply schema index changes
  * apply legacy index changes

Now:
  * apply graph changes
  * apply schema index changes
  * apply legacy index changes
  * release graph update locks
Fixed minor race in ArrayQueueOutOfOrderSequence
Highlight node on hover using CSS.
Highlight relationship on hover using CSS.
Make relationship caption changeable.

Get relationship caption from template.
Add relationship properties list to inspector.
Hard code '{type}' to default relationship caption.
Merge pull request #2994 from lutovich/fix-minor-race

Fixed minor race in ArrayQueueOutOfOrderSequence
Support for upgrading from 1.9 and 2.0

- added support for reading 1.9 and 2.0 log files
- split PhysicalLogNeoCommandReaderV0 in 2 one for parsing 2.0 comamnds and one for 1.9 commands
Reverse highligt colors and reuse existing yellow.
Showing first config:maxRows of resultset in table.
Fix: when using page cache in store migration or tools make sure the sweeping thread is running

Registers created standalone page caches in a supplied LifeSupport so that they can be stopped later
Restore node and relationship counts to graph view.

Also restore runTime to table status message.