Fixes #3772: Move IN_PLACE fixes to v1.7

---svn-pre-commit-ignore-below---

r29187 [[BR]]
Fix several issues regarding MPI_IN_PLACE and different flavors
of MPI_Alltoall.
 - add support for MPI_IN_PLACE in the self collective component.
 - fix the extent usage in the tuned collective component.
 - correctly use the peer counts instead of local - add support for MPI_IN_PLACE in the self collective component.
 - fix the extent usage in the tuned collective component.
 - correctly use the peer counts instead of local.
Thanks to Fujitsu for the patch.
Fixes #3773: Move usNIC fixes to v1.7

---svn-pre-commit-ignore-below---

r29181 [[BR]]
Cisco CSCuj12520: various problems running c_fence_put_1

- tag needs to be sent in *our* header, not the PML header
- usnic_alloc() should return smaller value if too much data requested
- be careful about callbacks vs removing items from lists
  (we need to remove from outr lists *before* the callback)
- improve send callback handling
- add some more MSGDEBUG2 logging and cleanup


r29182 [[BR]]
Cisco CSCuj12524: c_put_big segfault

- usnic_free() cannot free the fragment until ACK is received


r29183 [[BR]]
Cisco CSCuj13135: Data corruption in  MPI_Bsend_ator_c

Do not assume that the "size" passed to alloc_send() will be the same as
the size of the message the resulting fragment will hold when
usnic_send() is called.  This means usnic_send()/usnic_put() can never
trust any pre-computed size values, and are only allowed to look at the
lengths and pointers of the elements in the desc SG list.


r29184 [[BR]]
Cisco CSCuj22803: fixes for Bsend

changes required to support MPI_Bsend().  Introduces concept of
attaching a buffer to a large segment that the PML can scribble into and
we will send from.  The reason we don't use a pinned buffer and send
directly from that is that usnic_verbs does not (yes) support num_sge>1
for regular sends.  This means the data gets copied twice, but that is
unavoidable.

changed the logic in handle_large_send to be more sensible

Incorporated David's review comments


r29185 [[BR]]
Clean up debugging logging a bit.
MSGDEBUG2 now means "print a one-liner for all PML calls into BTL, and
also when BTL calls PML with a recv completion (not send completions)"
MSGDEBUG1 means print more internal gory detail
MSGDEBUG is gone, replaced by MSGDEBUG1

In the process also found that PUT_DEST style fragments could
potentially be leaked in usnic_free() since send_fragment tests were
being applied to see if it was eligible to be freed.


r29186 [[BR]]
usnic: wrong SG entry used to compute length for small put()s


r29188 [[BR]]
btl_usnic_util.c:ompi_btl_usnic_util_abort() also passes in the strerror().