Extract method from TopLevelTransaction's validateCommitAndEnqueue

Extract method `enqueueValidCommit` from part of `validateCommitAndEnqueue`.
This enables subclasses to reuse most of the logic in the latter.
Add method to get the VBox's Inplace writes
Make TransactionSignaller.SIGNALLER public
Make ActiveTransactionsRecord's method 'trySetNext' public
Make TopLevelTransaction's 'validateCommitAndEnqueue' method protected
Enable getting the top-level transaction's ActiveTxRecord
Make TopLevelTransactions's method 'makeWriteSet' public
Add method setCommitTxRecord to TopLevelTransaction
Make TopLevelTransactions's method 'getWriteSet' public
Add method getCommitTxRecord. Refactor code in validateCommitAndEnqueue()
Transaction factory configures whether TopLevelTransaction should be reused.

  Retains the default behavior for the JVSTM, which is to reuse the TLT.
Extract methods from ReadWriteTransaction's 'getBoxValue' to enable reuse in subclasses
Merge pull request #7 from smmf/feature/be-friendlier-to-fenix-framework

Feature/be friendlier to fenix framework