Refactoring of record positions in NeoStore
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.
Fixed a collision handling issue in IdMapper

where encoded values where compared before clearing an internal collision
flag on each value. Better testing was added around collision handling to
assert correct behaviour there as well.
Merge pull request #3631 from tinwelint/2.2-no-need-last-tx

Stores checksum of last transaction in neostore record