ck_pr: Initial support for TSX.

goto label support has been omitted for the moment.
A majority of initial targets are still pre-gcc-4.7
to support multiple branches.
ck_pr_rtm: Fix xtest output clobber identifier.
regressions/ck_sequence: Add fast-path latency measurement.
git: Add ck_sequence benchmark to gitignore.
ck_rwlock: Add basic RTM interface to rwlock.

It is possible this will be moved to a self-contained file.
For a majority of architectures, RTM is an unnecessary
implementation-specific optimization.
ck_rwlock: Add read_trylock_rtm.
ck_rwlock: Relax write_trylock_rtm semantics.

trylock semantics are best effort to begin with, so
avoid fallback path all together.
ck_rwlock: Use heavier-weight barrier on write path.

This is an example limitation of fence_X_Y variant. I am
considering extending this to include an acquire extension.
Use a memory fence to force total order in a manner that
will be clearer to other developers who read this.

This did not manifest as a problem on any target architectures
due to their handling of atomic operations (SPARC models it as
both a load and a store, while Power atomic_load ordering was
enforced through a full barrier).
ck_spinlock: Add ck_spinlock_anderson_locked.
ck_pr: Add ck_pr_fence_strict_atomic for x86-64.
ck_spinlock: Add ck_spinlock_ticket_locked.
ck_spinlock: Add ck_spinlock_clh_locked.
regressions: Add ck_spinlock locked coverage.
ck_spinlock: Acquire semantics for old locked operations.

Even though the intended use-case is for testing, developers
may want correctness guarantees in other situations.
ck_spinlock: Weaken volatile store in clh_lock.
ck_elide: General lock elision framework.

This allows users to wrap any single-argument lock implementation
to support lock elision. Built-in lock types will make use of this
facility.
ck_rwlock: Migrate to ck_elide.h.
ck_spinlock: Migrate to ck_elide.h.

Pending unit test updates.
regressions: Get rid of debug flags in ck_rwlock benchmark.
ck_elide: Commentary on ck_elide interface.