Fixes #4327: Move r30909 to v1.7 branch (update mapping/binding system)

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

r30909 [[BR]]
Now that we are binding by default, the issue of #slots and what to do when oversubscribed has become a bit more complicated. This isn't a problem in managed environments as we are always provided an accurate assignment for the #slots, or when -host is used to define the allocation since we automatically assume one slot for every time a node is named.

The problem arises when a hostfile is used, and the user provides host names without specifying the slots= paramater. In these cases, we assign slots=1, but automatically allow oversubscription since that number isn't confirmed. We then provide a separate parameter by which the user can direct that we assign the number of slots based on the sensed hardware - e.g., by telling us to set the #slots equal to the #cores on each node. However, this has been set to "off" by default.

In order to make this a little less complex for the user, set the default such that we automatically set #slots equal to #cores (or #hwt's if use_hwthreads_as_cpus has been set) only for those cases where the user provides names in a hostfile but does not provide slot information.

Also cleanup some a couple of issues in the mapping/binding system:

* ensure we only override the binding directive if we are oversubscribed *and* overload is not allowed

* ensure that the MPI procs don't attempt to bind themselves if they are launched by an orted as any binding directive (no matter what it was) would have been serviced by the orted on launch

* minor cleanup to the warning message when oversubscribed and binding was requested

cmr=v1.7.5:reviewer=rhc:subject=update mapping/binding system
Fixes #4330: Move usNIC fixes to v1.7 branch

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

r30912 [[BR]]
usnic: use the new usnic verbs extensions
    
If they exist, call the usnic verbs extensions to both enable UDP
support and get the UD receiver header length that should be used
(rather than assume 40/struct GRH).

r30913 [[BR]]
common_verbs: Remove usnic magic probe test
    
Check the IBV_TRANSPORT_* values.  In the case of IBV_TRANSPORT_IWARP,
there's an ambiguity and we need to also check to see whether the
usnic verbs externsion probe exists.

r30914 [[BR]]
usnic: remove unnecessary header union
    
Realistically, the usnic BTL doesn't need to know anything about the
underlying transport except for its header length (so that it knows
where the payload begins in a received buffer).  So remove the use of
the specific transport prefix union and just rely on the usnic verbs
extension to tell us what the header length is if we're using the
usNIC/UDP transport, or sizeof(struct ibv_grh) if we're using usNIC/L2
transport.
Fixes #4326: Move javadoc DESTDIR fix to v1.7 branch

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

r30908 [[BR]]
Fix DESTDIR installs for javadocs

Thanks to Orion Poplawski for noticing the issue
(http://www.open-mpi.org/community/lists/devel/2014/03/14263.php).
Fixes #4321: Move r30899 to v1.7 branch (Update NEWS for MPI-3 RMA)

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

r30899 [[BR]]
Update NEWS for MPI-3 RMA

cmr=v1.7.5:reviewer=rhc
Fixes #4325: Move r30907 to v1.7 branch (OMPI-MXM: handle multiple calls to)

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

r30907 [[BR]]
OMPI-MXM: handle multiple calls to add_procs() in MXM

- now add_procs can be called more than once (during MPI_INIT and Inter_Comm_Create)
- adjust MXM to this reality

fixed by Alina, reviewed by Yossi/Mike

cmr=v1.7.5:reviewer=ompi-rm1.7
Fixes #4328: Move r30910 to v1.7 branch (osc/sm: do not use gcc)

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

r30910 [[BR]]
osc/sm: do not use gcc specific calls

cmr=v1.7.5:reviewer=jsquyres
Fixes #4329: Move r30911 to v1.7 branch (osc/sm: check for pthread_condattr_setpshared and)

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

r30911 [[BR]]
osc/sm: check for pthread_condattr_setpshared and pthread_mutexattr_setpshared. fall
back on barrier if either function doesn't exist.

cmr=v1.7.5:reviewer=jsquyres