Fixes #4258: Move r30691 to v1.7 branch (fix bad race condition in direct modex)

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

r30691 [[BR]]
Ouch - fix bad race condition in direct modex

cmr=v1.7.5:reviewer=hjelmn:subject=fix bad race condition in direct modex


r30730 [[BR]]
Ensure we only post one receive for direct modex replies, and that we properly handle thread-transfer issues between the ORTE callback and the MPI layer. Account for potential threaded operations at the MPI level.

Refs #4258


r30865 [[BR]]
Prevent failover to direct_modex if key isn't found unless direct_modex was enabled

Refs #4258
Fixes #4296: Move r30798 to v1.7 branch (fix map-by node for different cases)

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

r30798 [[BR]]
Loadbalancing across nodes (i.e., map-by node) wasn't working correctly - the algorithm relied on the nodes being defined in descending order of slots, or the numbe
r of slots remaing to be assigned being only one/node. Regardless, it didn't work for the case where nodes were defined in ascending order of slots.

Tetsuya's proposed patch didn't solve the problem for me, but it did correct the case where cpus/proc > 1. The final patch requires that we loop over the assignment
 algo until all procs are assigned or all nodes are filled - any remaining procs are then handled in the cleanup loop.

cmr=v1.7.5:reviewer=rhc:subject=fix map-by node for different cases



r30826 [[BR]]
Update the map-by obj and map-by obj:span mappers to correct for errors in computing carryover across the nodes. Be a little less complex in the algorithm so it is easier to follow and debug.

Refs #4296


r30857 [[BR]]
Based on Tetsuya's patch, with some changes, correct the case of map-by node where multiple cpus/rank are requested and result in a non-integer match with num slots. Also correct tests for binding policy given to use the proper macro.

Refs #4296


r30861 [[BR]]
Per patch from Tetsuya Mishima, complete the overhaul of the round-robin mappers

Refs #4296
Fixes #4307: Move r30854 to v1.7 branch (udcm: fix race between ack)

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

r30854 [[BR]]
udcm: fix race between ack arrival and message send and potential hang in udcm
finalize.

Closes #4290

cmr=v1.7.5:reviewer=miked
Fixes #4308: Move r30856 to v1.7 branch (OSHMEM: fix bug in scoll/mpi,)

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

r30856 [[BR]]
OSHMEM: fix bug in scoll/mpi, add fortran support

dtypes support to oshmem scoll mpi. added comment to
oshmem scoll mpi component regarding casting size_t to int.

Fixed by Elena, Reviewed by Igor/Mike

cmr=v1.7.5:reviewer=ompi-rm1.7
Fixes #4309: mpi.Comm: some methods must be private.

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

r30859 [[BR]]
mpi.Comm: some methods must be private.
They were protected because the old Prequest implementation used them.
Add missing changesets r30777 and r30778

Refs #4253