Fixes #4716: Move r32005 to v1.8 branch (resolve handling of overload conditions)

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

r32005 [[BR]]
Per the ticket, resolve our handling of overload conditions to provide a more consistent response. If we are overloaded (i.e., attempting to bind more processes to a location than the number of cpus under that location), then we consider the following conditions:

(a) default binding policy is in effect. In this case, we will emit a
warning and default to not binding unless the user provided the
"oversubscribe" or "overload" modifier to the "bind-to" option.

(b) user-specified binding policy is in effect. In this case, we will
error out unless the user provided the "oversubscribe" or "overload"
modifier to the "bind-to" option as we cannot meet the directive.

Either "bind-to" modifier (oversubscribe or overload) will be accepted for
now - in 1.9, we will deprecate the "overload" term in favor of
"oversubscribe".

Also added the ability to accept a --bind-to modifier without specifying the binding policy itself so a user can specify overload-allowed with the default policy.

Closes #4345

cmr=v1.8.2:reviewer=rhc:subject=resolve handling of overload conditions
Fixes #4725: Move r32009 to v1.8 branch (osc/sm: return ompi_request_empty for all)

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

r32009 [[BR]]
osc/sm: return ompi_request_empty for all request ops

Only one field is valid for RMA requests: MPI_ERROR. This field is set
to the correct value in ompi_request_empty so there is no reason to
allocate and keep track of osc/sm requests because they are always
complete on return. Since we are no longer using the osc/sm request
structure or free list they are now removed.

Closes #4723

Tracking this issue with the CMR. Brad, can you verify the issue is indeed fixed.

cmr=v1.8.2:reviewer=bbenton
Fixes #4726: Move r32010 to v1.8 branch (osc/sm: use an unsigned long)

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

r32010 [[BR]]
osc/sm: use an unsigned long when calculating the total segment size

Brad correctly pointed out that the total window size should not be an
int. Changed it to an unsigned long.

cmr=v1.8.2:reviewer=bbenton
Fixes #4727: Move r32011 to v1.8 branch (rma: fix locking/unlocking of MPI_PROC_NULL)

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

r32011 [[BR]]
rma: fix locking/unlocking of MPI_PROC_NULL

It is valid to lock/unlock MPI_PROC_NULL. It probably isn't work tracking
whether MPI_PROC_NULL is locked for MPI_PROC_NULL RMA operations so this
is probably the permanent solution.

Closes #4720

Tracking the 1.8.2 issue with this CMR.

cmr=v1.8.2:reviewer=bbenton
Fixes #4728: Move r32012 to v1.8 branch (osc/rdma: ensure eager sends are)

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

r32012 [[BR]]
osc/rdma: ensure eager sends are active before checking for sync errors
in self optimization

This addresses an issue found with the MPICH pscw_ordering test. Eager sends
were not yet active (which is ok for the standard path) but not ok for the
self optimization. Fixed by waiting for all post messages before checking
the sync state.

Fixes #4724

Tracking the 1.8.2 issue in this CMR.

cmr=v1.8.2:reviewer=bbenton
Fixes #4730: Move r32015 to v1.8 branch (osc/rdma: fix accumulate fragment size)

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

r32015 [[BR]]
osc/rdma: fix accumulate fragment size calculation

The wrong type was used when calculating the amount of space needed
for an accumulate fragment. Fixed the calculation and took the
opportunity to eliminate the get_acc header as it is identical to the
acc header.

This fixes #4719 and #4718

Tracking these fixes for 1.8.2 in this CMR.

Throwing this to Brad for review as he is the one who ran into the issue.

cmr=v1.8.2:reviewer=bbenton

r32016 [[BR]]
osc/rdma: fix hang when accumulating with MPI_REPLACE

The replace callback did not increment the incoming frag counter. This
leads to a hang during synchronization. This commit adds the increment
and also puts the request on the garbage collection list to fix a leak.

This fixes a hang found when running the mpich test suite.

cmr=v1.8.2:reviewer=bbenton
Fixes #4732: Move r32017, 32018, r32021 to v1.8 branch (osc/rdma: better name for lookup)

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

r32017 [[BR]]
osc/rdma: ensure matching of post/start calls

The post and start window calls are supposed to be matching. The code
did not check to see that an incoming post matched with the start call.
This commit fixes the bug by placing the post on a pending list that
will be checked by the next call to start.

cmr=v1.8.2:reviewer=dgoodell

r32018 [[BR]]
osc/rdma: clean up group process matching a bit

cmr=v1.8.2:ticket=#4732:reviewer=dgoodell

r32021 [[BR]]
osc/rdma: better name for lookup function

cmr=v1.8.2:ticket=#4732:reviewer=ompi-rm1.8
Fixes #4733: Move r32014 to 1.8 (add NVIDIA to license file)

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

r32014 [[BR]]
Add NVIDIA to the license file.
Fixes #4735: Move r32030 to v1.8 branch (improve memory binding failure message)

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

r32030 [[BR]]
Add a little more info to the warning message - i.e., that the likely cause of the problem is missing libnumactl and/or libnumactl-devel

cmr=v1.8.2:reviewer=miked:subject=improve memory binding failure message