Fixes #4476: Move r31281 to v1.8 branch (osc/rdma: fix test/wait hang)
Fixes #4477: Move r31283 to v1.8 branch (osc/base: defensive programming. handle one)
Fixes #4478: Move r31284 to v1.8 branch (osc/rdma: really fix active message)

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

r31281 [[BR]]
osc/rdma: fix test/wait hang

There are differences between how active and passive messages are
accounted for in this component. Active message counts on the sender
side are set to zero before the control message is sent so we do not
have to add one to the expected number of messages or we end up
double counting the control message. This commit should fix that error.

Fixes regression in one-sided/test_rma1

cmr=v1.8:reviewer=jsquyres

r31283 [[BR]]
osc/base: defensive programming. handle one more possible datatype case

It might be possible (don't know) for a datatype to made of a contiguous block
of a primitive datatype and have an lb. If this is ever the case the code
would have done the wrong thing. Add the lb in to be safe.

cmr=v1.8:reviewer=jsquyres

r31284 [[BR]]
osc/rdma: really fix active message support

The last fix prevented a hang but had some cases where the results were
wrong. Fixed. Tested with armci, openmpi/ibm, openmpi/onesided.

cmr=v1.8:reviewer=jsquyres