Fix flay testserverbuilder test.
Fix bug in EphemeralFileSystem

When you write beyond the end of a file, the space in between is filled with zeros.
The EphemeralFileSystemAbstraction had insufficient synchronisation in that code, because it allowed
a thread to do a write beyond the end of the file, then another thread would write in the space in
between, and then the first thread would overwrite the new data with zeros.

During the course of debugging this, the PageCacheMonitor has been extended to also observe page
flushes.

Conflicts:
	community/io/src/main/java/org/neo4j/io/pagecache/PageCacheMonitor.java
	community/io/src/main/java/org/neo4j/io/pagecache/impl/common/SingleFilePageSwapper.java
	community/io/src/main/java/org/neo4j/io/pagecache/impl/standard/ClockSweepPageTable.java
	community/io/src/main/java/org/neo4j/io/pagecache/impl/standard/StandardPinnablePage.java
	community/io/src/test/java/org/neo4j/io/pagecache/CountingPageCacheMonitor.java
	community/io/src/test/java/org/neo4j/io/pagecache/PageCacheTest.java
	community/io/src/test/java/org/neo4j/io/pagecache/RecordingPageCacheMonitor.java
	enterprise/enterprise-io/src/main/java/org/neo4j/io/enterprise/pagecache/impl/muninn/MuninnPage.java
	enterprise/enterprise-io/src/main/java/org/neo4j/io/enterprise/pagecache/impl/muninn/MuninnPagedFile.java
Merge pull request #3395 from jakewins/2.1-testserverbuilder-flakyness

Fix flay testserverbuilder test.
Swap forseti clients over to using primitive maps.

Replace Forseti clients usage of regular hashmaps with hopscotch primitive
maps for tracking local lock counts. This makes a large section of the forseti
hot path GC free.

Also includes the optimization from RecordChanges where we allocate a new map
if the existing map has gotten larger than 32 entries.
Merge pull request #3404 from chrisvest/2.1-ephemeral-fsa-threadsafe-backport

Fix bug in EphemeralFileSystem
Merge pull request #3408 from jakewins/2.1-forseti-gc

Swap forseti clients over to using primitive maps.