TransactionRepresentation has separate timestamps for start and commit

Recent refactorings ended up using the same timestamp for when a
transaction was started to that of when the transaction was committed.
This commit captures a separate timestamp for when the transaction was
started, i.e. when the user started it.

Also lastCommittedTransactionWhenStarted now correctly reports he
transaction id at the point in time when the transaction was started, not
when committed. The reason for that is that the latter is unnecessary
since it's always going to be the previous transaction id, the way
things work now.
Renamed committing to committed

A long overdue rename. A transaction is committed when it's written to the
log. The 'committing' term indicated that was not the case.
Merge pull request #2829 from tinwelint/2.2-split-tx-time-start-commit

TransactionRepresentation has separate timestamps for start and commit
Added utility for checking whether or not an exception contains a certain stack trace element
Add some more javadoc for the PageCace APIs.
Reorganise and tidy up the page cache API a bit

Mostly by moving bits that are part of the StandardPageCache implementation, into the `standard` package.