fabric: Rename FI_PROV_MR_KEY to FI_PROV_MR_ATTR

FI_PROV_MR_KEY indicates that the provider controls the value of
the key associated with a memory region.  From the perspective of the
provider, this means that registered memory data must be exchanged
with a remote peer.

Support for memory registration offset is also provider specific.
Providers may require that registered memory be accessed using the
virtual address of the region, rather than a user specified offset.
Rather than introducing a new flag to indicate that the address should
be exchanged, rename FI_PROV_MR_KEY to FI_PROV_MR_ATTR to indicate
that _some_ attribute associated with registered memory must be
exchanged by the application with a remote peer.

The assumption is that it is no more difficult for the app to exchange
all MR attributes than just a single field.  And this change makes the
API simpler overall.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
fabric: Remove op/iov size/alignment fields

These fields were added to help define the size of the
RX/TX contexts.  However, the OFIWG is examining an
alternative approach that uses calls into the provider.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
fabric: Define support for sharing RX/TX contexts

Provide a mechanism by which RX and TX contexts may be
shared among multiple endpoints.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Merge pull request #312 from shefty/master

Updates to memory registration and support for shared RX/TX contexts