Remove the use of reachability fences

We don't need them because the use of the native pointer is contained within the critical section of the pin, as represented by the StampedLock. This locking similarly constrains the life-time of the page objects.
In essence, use of the native pointer cannot move above taking the lock, nor bellow its release, and since the MuninnPage objects are themselves StampedLocks, their life-times is guaranteed to extend at least as far as their last lock release.
Fix UniqueConstraintStressIT: Catch expected exception: Constraint violation on slave.

The constraint added by the master transaction will eventually get pulled by the slave
and a constraint violation due to a slave will be caught during the transaction building
phase instead of the commit phase, resulting in different end user exceptions.

A test case variation making this case more likely was added.
Remove a file accidentally committed in June
Merge branch '2.1-maint'
Merge pull request #3629 from chrisvest/2.2-reachability

Remove the use of reachability fences
Fixes leak of file mapping from count store on error during file open

It is possible for the count store files to be perceived as
 unusable in case the header information or some key data is not
 consistent. While not a fatal error, this is communicated by
 throwing an IOException which is caught and the paged portion
 of the opened file will be unmapped. However, before this
 fix it was that IOException would be ignored by the responsible
 catch clause, leading to the leak of the file map and the
 inability of the database to shutdown since that file was
 mapped.
This patch fixes the issue by catching all possible Exceptions
 thrown during open and not only RuntimeExceptions as before.
Refactoring of record positions in NeoStore
Merge pull request #3635 from digitalstain/2.2-countstore-exception

Fixes leak of file mapping from count store on error during file open
Documentation fixes, mostly for embedded.

* Refresh of embedded usgae docs for 2.2.
* Small tweaks to Cypher docs.
* Increasing wait time for indexes in neo4j-graphgist.
* Minor cleanup in docs for tx endpoint.
* Minor cleanup in docs for neo4j-import.
Fix a bug in the counts store which prevents recovery to happen

The CountsTracker code was checking that the txId stored in the Counts
Store is never smaller than the txId stored in the NeoStore.  This is
not always true. The wrong assumption here is that dispite the fact
that the code rotates the Counts Store before flushing the NeoStore
pages, it might happen that the PageCache decides to evict the
NeoStore pages (and hence flush them to disk) before the Counts Store
rotation. The fix is basically removing the check and trust recovery
to fix the stores.
Fix an NPE during startup when dump_configuration is enabled
Errors in Bootstrapper.start are logged to System.out if logging failed to initialize
Merge pull request #3633 from nawroth/2.2-docs-fixes

Documentation fixes, mostly for embedded.
Merge pull request #3632 from martinfurmanski/2.2-unique-constraint-stress-it-slave-constraint-case

Fix UniqueConstraintStressIT: Catch expected exception: Constraint violation on slave.
Merge pull request #3636 from davidegrohmann/2.2-counts-store-fix

Fix a bug in the counts store that prevented recovery from happening
Merge pull request #3638 from chrisvest/2.2-pagecache-npe

Fix an NPE during startup when dump_configuration is enabled
Merge pull request #3634 from lutovich/2.1-npe-in-bootstrapper-catch-block

Null-safe logging in Bootstrapper
Merge '2.1-maint' un 'master'

Conflicts:
	community/server/src/main/java/org/neo4j/server/Bootstrapper.java
Stores checksum of last transaction in neostore record

This means that there is no longer a need for having a "last transaction"
in a transaction log for the sole purpose of extracting a checksum from
its start entry. This simplifies usages around backup and HA.

This commit also changes the HA protocol, the handshake specifically,
where previously the handshake contained a checksum and a masterId for
that transaction. That wasn't necessary to have since that masterId value
was and is already part of the checksum.
Unknown relationship types in a dense node should not cause relationship loading
(cherry picked from commit 5116cd0)