Changes LogPositionCache into TransactionMetadataCache

It is necessary and useful to cache more than the location of a
 transaction - we also require quick access to additional
 metadata, such as master id and author id.
This change augments the LogPositionCache with these extra
 bits of information, making the LogPosition part of the
 TransactionMetadata.