ck_pr: ck_pr_fence_X_Y interface has been added.

ck_pr_fence_{load_load,store_store,load_store,store_load} operations
have been added. In addition to this, it is no longer the responsibility
of architecture ports to determine when to emit a specific fence. Instead,
the underlying port will always emit the necessary instructions to
enforce strict ordering. The higher-level include/ck_pr implementation will
enforce whether or not a fence is necessary to be emitted according to
the memory model specified by ck_md (CK_MD_{TSO,RMO,PSO}).

In other words, only ck_pr_fence_strict_* is implemented by the MD-ck_pr
port.
regressions: Fix link order.
ck_pr: Update GCC port and change ck_pr dependency path.

The compiler-specific ck_pr is now unconditionally included.
It currently implements things like compiler barriers.
ck_pr/gcc: Fix style issue.
ck_pr: Move ck_pr_barrier to compiler port.
ck_brlock: Migrate to ck_pr_fence_X_Y interface.
ck_hp_fifo: Migrate to ck_pr_fence_X_Y functions.
ck_hp_stack: Migrate to ck_pr_fence_X_Y functions.
ck_epoch: Migrate to ck_pr_fence_X_Y.
ck_bytelock: Migrate to ck_pr_fence_X_Y.
ck_spinlock: Acquire semantics for anderson spinlock.
ck_pr: Add ck_pr_fence_atomic interface.

These operations serialize atomic-RMW operations with respect
to each other, loads and stores. In addition to this, the
load_depends implementations have been removed.
ck_pr: Remove ck_pr_fence_load_depends from GCC port.
ck_bytelock: Use ck_pr_fence_atomic.
ck_rwlock: Use ck_pr_fence_atomic.
ck_pr: Comment elaboration on ck_pr_fence_atomic semantics.

More specifically, note that in memory models where atomic
operations do not have serializing effects that atomic
read-modify-write operations are modeled as store operations.
git: Add ck_stailq regression to gitignore.
ck_pr: Implement ck_pr_fence_atomic in MD ck_pr.
ck_brlock: Migrate to ck_pr_fence_X_Y.
ck_spinlock: Minor style changes to return statement.