fabric: Rename FI_WAIT_MUT_COND to FI_WAIT_MUTEX_COND

Align name better with pthread names.
fabric: Defined fi_mut_cond structure

Define structure for use with FI_GETWAIT when a mutex-cond
pair are used as wait objects.

Signed-off-by: Jithin Jose <jithin.jose@intel.com>
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
fabric: Remove fi_control from defined wait set interface

The primary function of a wait set is to allow multiple underlying
objects to share a single wait object.  However, a wait set is
defined such that it could be implemented with multiple wait
objects, which are visible to the application.  Rather than
defining a wait set in this way, limit the definition to the
intended use case.  Any use of multiple wait objects then becomes
an implementation specific problem.

The use of multiple wait objects is exposed through the wait
set control FI_GETWAIT operation.  Remove this functionality from
the defined interfaces.

This also fixes an issue where the wait set lacks an interface
to reset a signaled wait object that has been exposed to an app.
For example, if a wait set were implemented using a FD, and an
app obtained that FD, it can wait until the FD has been signaled
using select or poll, but no interface is defined for clearing
such a signal from the FD.

This above mentioned functionality and control operation is
deferred until a future time when it can be more fully defined
with a clearer usage model.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
fabric: Clarify which buffers FI_OPT_MIN_MULTI_RECV apply to

Improve documentation regarding the expected behavior when an
app modifies the MIN_MULTI_RECV endpoint option.

Recommend that the option be set before an endpoint is enabled,
in order to support the broadest array of implementations, and
that it only applies to buffers posted after the value has been
set.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>