Rename opal_atomic_lifo_t to opal_lifo_t and improve interface

 - Rename opal_atomic_lifo_t to opal_lifo_t to reflect both atomic and
   non-atomic usage. Added new routines (opal_lifo_*_st) for non-atomic
   usage as well as routines conditioned off opal_using_threads(). The
   atomic versions are always thread safe and the non-atomic are always
   not thread safe.

 - Add a new atomic lifo implementation that makes use of 128-bit
   compare-and-swap. The new implementation should scale better with
   larger numbers of threads.

 - Add threading unit test for opal_lifo_t.
Add opal_fifo_t class

This commit adds a new class: opal_fifo.h. The new class has atomic, non-atomic,
and opal_using_threads() conditoned routines. It should be used when first-in
first-out is required and should perform much better than using locks and an
opal_list_t. Like with opal_lifo_t there are two versions of the atomic
implementation: 128-bit compare-and-swap, and spin-locked. More implementations
can be added later (LL/SC comes to mind).

This commit also adds a unit test for the opal_fifo_t class. This test verifies
the fifo implementation when using multiple threads.
Add lifo and fifo checks to make check
libfabric: add optional PSM provider.
libfabric: fix some typos in the usnic configury
libfabric: update embedded libfabric to 934a714

Update the embedded copy of libfabric to the github ofiwg/libfabric
repo hash 934a714ca85f1a30a1e384a7d5f714ee962dc253.
libfabric: Open MPI addition to stem a flood of warnings

Add a pragma to not warn about zero-length arrays.  This needs to be
addressed upstream, but for now, do it here.
usnic: update for libfabric API change

Use FI_ADDR_UNSPEC for posting a receive from an unspecified source.
Merge pull request #310 from yburette/master

libfabric: add optional PSM provider.
libfabric: fix providers to conditionally add libs/flags

Only allow the usnic and PSM providers to add CPPFLAGS and LIBADD
flags when they are going to be built.
Merge pull request #300 from hjelmn/topic/atomic_lifo_fifo

Add opal_fifo_t class and rename opal_atomic_lifo_t to opal_lifo_t
usnic: short term fix to enable builds on non-libfabric platforms

This isn't quite the Right fix yet, because it doesn't address usnic
for external libfabric builds.  I'll fix that separately / later.
opal_progress: fix sched_yield check
libfabric: use correct C99 notation for var-length array

Nathan pointed out the correct C99 way to notate a variable-length
array in a struct.  This change has now been accepted upstream in
libfabric.
libfabric: Gah -- also remove the "pragma pop" line

Thanks to Nathan for pointing out that I missed snipping one line in
2f9c69f016751954bc8384927ce7878d9882b56c (I removed the trailing
comment, but not the trailing pragma -- oops!).
Silence warnings
Update lifo and fifo tests to use opal_init/finalize_util so they work during make distcheck
Use AC_TRY_LINK not AC_TRY_COMPILE when testing for __sync_bool_compare_and_swap on 128-bit values
opal_lifo: add missing memory barriers in 128-bit atomic functions