Moves recovered high id update responsibility from store to transactions

When applying recovered transactions to the store the id generators needs
to be notified while applying. Before this commit those candidate high ids
were tracked in each store, as a shared field, with the assumption that
only one transaction at a time could update a store. In 2.2 that is no
longer the case and so that high id tracking has moved to the transaction
application instead. The actual updating of high id in the stores, after a
recovered transaction has been applied, is now synchronized with an added
check so that the high id is never lowered by mistake.

Also this commit fixes so the recovered transactions sets the high id
to the highest seen id + 1, there was an off-by-one error there. For that
CommonAbstractStore#setHighestPossibleIdInUse(long) method has been
introduced.

Finally some very old code blocks for silent upgrading of neostore records between
1.5 and 1.6 was also removed, and a test to go with that.
Merge pull request #2835 from tinwelint/2.2-apply-recovered-highestid

Sets correct highId when applying recovered transactions