Browser: Make Movie Guide init query graph nicer.

Return a graph of 10 nodes.
Removed direct usages of Monitors, in favor of individual monitors (-> easier to mock, delegate, and makes it clear what a component exposes)
Added Supplier<T> which supplies instances of T, without creation
Removed direct usages of DependencyResolver, replaced with Supplier<T> for more explicit dependencies
Added supplyDependency in Dependencies helper
Added Javadocs where needed
Replaced custom DependencyResolver instances with the generic Dependencies helper (more to come)
Added byte counting monitor at Netty level for Client and Server
Merge pull request #2935 from oskarhane/movie_guide_return

Browser: Make Movie Guide init query return a nicer graph.
Adds tree node zipper and tapper helpers to Cypher
Use Zipper for SemanticState scope tree
Merge pull request #2958 from rickardoberg/networkbytecountermonitor

Network byte counter and dependencies/monitor cleanup
Delays node/rel record changes until commit time

This completes the move from changing record state at the point of making
that change in the transaction to the point where the transaction is
committed. A side effect of that is that KernelStatement no longer needs
access to TransactionRecordState and so the abstractions gets clearer.

The issue provoking this change was that a transaction could create a
relationship and delete it in the same transaction, with the outcome that
a command was created saying to delete that relationship, even though it
didn't exist before the transaction started. Then if replaying a log
containing such a transaction there would be and exception thrown applying
that transsction where the id of that record couldn't be freed since it
was above highId.

This commit also removes duplicate and unexpected checks for if records
exists at the point of converting transaction state into record state. All
those checks now exist in the KernelAPI, and so they were removed from
TransactionRecordState.
Adds more info to the AIOOBE, the contents of the buffer
Merge pull request #2971 from boggle/tree-zipper

Use a zipper for SemanticState scope tree
Logs if awaiting transactions to be closed

Maximum every 30 seconds. Can happen when rotating the log or shutting
down. An issue has been observed where there has been an indefinite wait
for closed transactions to catch up on committed transactions and logging
has been put in to help debugging that issue.
Disabled forceRotate tests for both batching/non-batching
Merge pull request #2974 from tinwelint/2.2-log-shutdown-await-txs

Logs if awaiting transactions to be closed
Support for tracing ast rewriting and checking conditions

o Condition checking still needs testing but the hot code path is tested
Add containsNoReturnStar condition
Merge pull request #2980 from boggle/ast-tracer

Support for tracing ast rewriting and checking conditions
Removes QueryPlan and moves the solved PatternQuery to LogicalPlan
Merge pull request #2969 from tinwelint/2.2-alter-entity-record-state-at-commit

Delays node/rel record changes until commit time
Merge pull request #2972 from systay/solved-on-logicalplan

Removes QueryPlan and moves the solved PatternQuery to LogicalPlan
Visualisation bug fixes.

Remove CSS :hover animations.

It's confusing to have the same attributes controlled both by Javascript
and CSS. Also the growing-node behaviour was unhelpful, because it
generally obscured arrow-heads, thereby hiding the direction of
relationships.

Delegate overlay shape to arrow objects.

Use a dedicated path object instead of rectangles so that we can detect
hovering over curved arrows.

Improve contract between layout and arrows.

Previously we set an additional shortCaptionLength property on arrow
objects after instantiation. Instead we supply that value as an argument
to the outline() function, so arrow objects now immutable. This should
make the data-flow a little easier to follow.

Accurate shaft length for positive deflection arrows.

Incorrect calculation previously meant that captions for these arrows
were never truncated.

Author: Alistair Jones <alistair.jones@gmail.com>
Revert "Revert "Move pretty printing of ast nodes to ASTNodes""

This reverts commit 853c20d7332cf5d46a7752ceb04352defb9e543a.