Make PageCacheMonitor test less flaky

The new possibility for blocking page faults and direct transfer of new pages,
make it possible for more evictions to happen. These tests were written when
this wasn't the case, so they didn't take this into account. This has been
fixed.
Rollback to 7e01db0ae8b1440b3617da11b3c4fcbe6a3a84fb
Merge branch 2.1-maint into master
Rollback to 51a7af27efc41cbdb7acc3db1a701e339e62e92a
Rollback to 54819300196f5fd55de1fabbdfb7b0537f3c428f
Merge pull request #3212 from chrisvest/2.2-flaky-pagecache-monitor-test

[2.2] Make PageCacheMonitor test less flaky
Reapply reverted commits

4700f7f653cbb09896bdad6009e175a61808057c:
Convert tests to CypherFunSuite

4501bd22519c07e674e4a8edc5c59daa19f9cc3e:
Rename mergeUp & mergeDown to supremum & infimum
AKA leastUpperBound and greatestLowerBound

c8ce10c2063b3c52d7eab56b0d4598ffe1c13eee:
Make TypeRange and TypeSpec clearer
Adds documentation and cleans up some tests
Fixed so that the cost is minimized when combining three plans with cartesian products.
Unignored a bunch of compiler tests
Updated pom.xml so that mvn exec:java works again in server.
Merge pull request #3215 from pontusmelke/fix-cartesian-products

[2.2] Fixed so that the cost is minimized when combining three plans
Ensure parse errors are propagated for badly escaped statements in server
Fixed bug when combining path expressions and order by in Cypher.
Merge pull request #3228 from pontusmelke/fix-server

[2.2] Small fixes to server
Merge pull request #3230 from pontusmelke/type-bug

[2.2] Fixed bug when combining path expressions and order by in Cypher.
Fix for #2907, labels on varlength patterns where not checked properly.
Make type rules in Add clearer

Taken from #3235
Merge branch 2.1-maint
Merge pull request #3245 from cleishm/type_clearup

[2.0] Make type rules in Add clearer
Merge pull request #3240 from pontusmelke/issue-2907

[2.0] Fix for #2907, labels on varlength patterns where not checked properly.