Bump the version for bin dependencies on Cypher 1.9 and 2.0
Update the 2.0 SPI after upgrading to 2.0.3

This should not be necessary as LOAD CSV is not part of 2.0.
This can be removed once we remove the CSV SPI bits from 2.0.
Fix PROFILE CYPHER 2.0 in 2.1
Merge pull request #2486 from jakub-/cypher-profile-fixes

Bump the version for bin dependencies on Cypher 1.9 and 2.0
Introduced a new way to write planner tests

Moved CartesianProductPlanningIntegrationTest to this new way
Merge pull request #2487 from systay/planner-tests

Introduced a new way to write planner tests
Move Scala test file from src/test/java to src/test/scala.
Added asserts
Remove code anticipating a queue-based implementation
Moves *PlanningIntegrationTest to the new test format
Merge pull request #2493 from jotomo/scala-test-dir

Move Scala test file from src/test/java to src/test/scala.
Merge pull request #2494 from systay/planner-tests

Moves *PlanningIntegrationTest to the new test format
Merge remote-tracking branch 'neo/master' into master-merge-pagecache
Some light refactoring
Fix a data race in election causing flaky tests

Assertions are only enabled when running tests. We had an assert that
verified that no existing master was present when a new master was elected.
This occasionally seemed to be the case because we did not properly clear
the current master id from the context.
Fix some logging that was misattributed to ClusterLeaveReelectionListener, when it should have been HeartbeatRelectionListener
Make sure we always send VersionedVoteData by asking with proper VoteRequests
Some light refactoring
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.