Add panning behavoir to browser graph results.

Create huge rect to cover whole svg.
Track zoom behavior and move container.
Turn off mousewheel zooming.
Browser: Make Movie Guide init query graph nicer.

Return a graph of 10 nodes.
Changes synchronization between LogFile and TransactionAppender

such that transactions cannot be appended and rotated away before properly
applied and closed. TransactionAppender now grabs the same monitor while
appending, as LogFile does when rotating.
Merge pull request #2965 from tinwelint/2.2-append-and-rotate-control

Changes synchronization between LogFile and TransactionAppender
Merge pull request #2934 from oskarhane/svg_pan

Browser: Add panning behavior to graph results
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
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
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