Add backend-jvstm-lf-cluster

  This is a clustered implementation based on the lock-free JVSTM (>= 2.0).
  It will duplicate some code already implemented in jvstm-cluster and
  jvstm-datagrid.  Nevertheless, it is expected that this backend may
  supersede the jvstm-cluster backend, thus eliminating the duplication.  We
  chose to 'inherit' from jvstm-common instead of to create a jvstm-lf-common
  backend, because it is not expectable for this module to fully supersede the
  jvstm-common module, in the near future.
[jvstm-lf] Rename RemoteCommit to CommitRequest

  A CommitRequest is sent by every (write) transaction that needs to commit.
  It contains the read set and write set of the transaction to commit.  After
  this, every node can locally continue its commits starting from this queue.
[jvstm-lf] Update POMs with dependency on JVSTM 2.0 (lock-free)
[jvstm-lf] Upgrade from jvstm:jvstm:2.0 to jvstm:jvstm:2.1
[jvstm-lf] Updates just to allow compilation with JVSTM 2
[jvstm-lf] DRAFT: Milestone: Send CommitRequest
[jvstm-lf] DRAFT: Ongoing work in distributed commit

  * Improvements to the RemoteCommit, revise the validation algorithm, create
    Local- and Remote- LockFreeTransactions.  DistributedLockFreeTransaction
    is what actually is created by JVSTM's transaction factory. Then Local or
    Remote instances are created when processing the commit requests.  A
    LocalLockFreeTransaction wraps the node's local
    DistributedLockFreeTransaction instance.
[jvstm-lf] DRAFT: Ongoing work in distributed commit (before thinking of subclass for DistributedLFTx)

...which didn't happen
Move LocalLockFreeTransaction to correct package
Remove old code: OldCommitRequest.java
[jvstm-lf] Milestone Lock-free commit algorithm working on single node / single thread
[jvstm-common] Deal with a possible CommitException in the body of a transaction

This is only possible in JVSTM2.x due to an EarlyAbortException, which detects
an already invalid read during a write transaction.  In JVSTM1.x, this
exception is never thrown during the execution of the 'body' of a transaction,
so this change does not affect it.  Nevertheless, by doing this here, we're
able to reuse the transactional machinery implemented in jvstm-common.
[jvstm-lf] Milestone Lock-free commit algorithm working on single node / multi-thread (read-write tx only)

Still need to check a possible memory leak: Either that, or its just the GC
being overloaded with commits.

It does not work for read-only transactions due to the missing implementation
of reload.
[jvstm-lf] Bugfix: CommitRequest SENTINEL was static, which prevented useful GCs
[jvstm-lf] Several refactorings on the transaction classes
[jvstm-lf] Remove Distributed from Distributed*Transaction
[jvstm-lf] Minor revision to documentation
[jvstm-lf] Milestone Lock-free commit algorithm working on single node complete
[jvstm-lf] Do not send the write set with the CommitRequest

Each committer must write it to the repository before broadcasting the commit
request.
Bugfix: Read correct version in getBoxValue for LockFreeTransaction