Merge pull request #2505 from boggle/compact-query

Make commands.Query.compact tail-recursive
Make sure we always send VersionedVoteData by asking with proper VoteRequests
Fix test flakiness by making sure that the HA leaders we wait for are also alive
Fix a bug in OnDiskLastTxIdGetter after mode-switch

The previous implementation would only resolve the NeoStore instance once,
and then hold on to it forever. This was a problem because the
OnDiskLastTxIdGetter instance can outlive the NeoStore instance it grabs.
For instance, when there is a mode-switch, where a follower instance
becomes leader, or a leader becomes a follower, the database innards are
restarted. This restarting means, among other things, that a new NeoStore
instance is created.

If we were holding on to the old NeoStore instance, then we'd end up working
with a store that is attached to a dead page cache. We won't notice this,
however, because the NeoStore caches the last txId in an AtomicInteger.
This can lead to the wrong leader being elected, because a follower that
has been promoted to a leader, will vote in all future elections with a
transaction id that is from before it became leader.
Introduce documentation for execution plans produced by Ronja

Also introduces a page on how to do query tuning
Try fixing the manual build
Merge branch 'master' into master-merge-pagecache

Conflicts:
	community/server/src/test/java/org/neo4j/server/preflight/TestPerformRecoveryIfNecessary.java
Fix regression on ast rewriters
Resolves a 2.1.1 recovery issue.

- Due to a buffer offset error, after recovery the database would end up in
  a dangerous state where it would potentially fail to recover from a
  second crash if there had not been a log rotation or a safe shutdown.
Fix do not expose getCsvIterator in spi.v2.0.QueryContext since it is not supported
Merge pull request #2507 from systay/profile-explanation

Introduce documentation for execution plans produced by Ronja
Reduce the probability of test flakiness in server

Some transactions have been shown to be prone to transient transaction failures, such
as from DeadLockExceptions. Those transactions will now be retried a limited number of times.
Merge pull request #2485 from chrisvest/master-merge-pagecache

Master merge pagecache
Merge pull request #2509 from jakewins/2.1-recovery

Resolves a 2.1.1 recovery issue. Fixes #2492
Merge pull request #2508 from davidegrohmann/rewriter-performance-fix

Ast rewriter performance fix
Merge pull request #2502 from jakewins/2.1-forseti-improved-try

Improve Forsetis try-shared-lock.
Be more strict about encoding when counting bytes the StoreFileChannelTest
Merge pull request #2478 from jakewins/2.1-writeall

Fix an issue in StoreChannel.writeAll()
Merge pull request #2471 from rickardoberg/configdefaults

Added more default config settings
Improved intro text