OSHMEM: bug fix for hca selection from list

fixed by AlexM, reviewed by Miked

cmr=v1.8.2:reviewer=ompi-rm1.8
OSHMEM: fix segv with new OFED

new OFED changed struct layout and static assignment caused segv.
detect struct new layout and use dynamic assignment

fixed by AlexM, reviewed by Miked

cmr=v1.8.2:reviewer=ompi-rm1.8
Initialize some fields (prevent valgrind complaints).
OSHMEM: fortran profiling API added

for spec compliance 

fixed by Roman, reviewed by Igor/Miked

cmr=v1.8.2:reviewer=ompi-rm1.8
hwloc: ensure that an internal fd is marked as close-on-exec

Make sure that an internal, long-lived hwloc fd is marked as
close-on-exec so that children don't inherit it.  This patch is
committed upstream in the hwloc master and v1.9 branches as 7489287
and b654e19, respectively.  The patch applied here is the exact same
logic, but the surrounding code changed slightly since the hwloc v1.7
series, so the patch doesn't apply cleanly.

Refs #4550
oob_tcp_listener.c: set both ends of this thread to be close-on-exec

This pipe is used to communicate between threads in this process.
Mark both fd as close-on-exec so that children don't inherit this
pipe.

Refs #4550
opal/util/fd.c: add new convenience function for setting FD_CLOEXEC

Paul Hargrove pointed out that Stevens tells us that we should
FD_GETFL before FD_SETFL.  And so we shall.

Make a new convenience function to do this (opal_fd_set_cloexec()),
just so that we don't have to litter this 2-step process throughout
the code.

Refs #4550
Sigh.  It helps when you commit the right version of the finished
code.

This commit fixes minor errors in the incorrectly-committed r31513
(new fd close-on-exec convenience function).

Refs #4550
Close 3 more fd's that were leaking into child processes.

Child processes now look clean; I can't find any more fd's that are
leaking from the parent to children.

Refs #4550
coll_base_comm_unselect.c: fix memory leaks

Ensure to also OBJ_RELEASE the neightbor and ineighbor modules.

Fixes #4444 (this patch is from that ticket).
cart_sub.c: allow remain_dims==NULL if there is no topology on comm

Patch submitted by Gilles Gouaillardet on #4518.  Reviewed by Jeff.

Fixes #4518

cmr=v1.8.2:reviewer=ompi-rm1.8
coll basic: correctly handle alltoall[vw] 0-sized messages

Patch from Gilles Gouaillardet on #4506 to correctly handle 0-sized
messages in coll/basic MPI_Alltoallv and MPI_Alltoallw.

Reviewed by Jeff Squyres.

Fixes #4506.

cmr=v1.8.2:reviewer=ompi-rm1.8
coll tuned alltoallv: correctly handle 0-sized messages with MPI_IN_PLACE

Patch from Gilles Gouaillardet on #4517 to fix handling 0-sized
messages in coll tuned with MPI_ALLTOALLV and MPI_IN_PLACE.

Reviewed by Jeff Squyres.

Fixes #4517

cmr=v1.8.2:reviewer=ompi-rm1.8
btl/vader: improve performance under heavy load and eliminate a racy
feature

This commit should fix a hang seen when running some of the one-sided
tests. The downside of this fix is it reduces the maximum size of the
messages that use the fast boxes. I will fix this in a later commit.

To improve performance under a heavy load I introduced sequencing to
ensure messages are given to the pml in order. I have seen little-no
impact on the message rate or latency with this change and there is a
clear improvement to the heavy message rate case.

Lets let this sit in the trunk for a couple of days to ensure that
everything is working correctly.

cmr=v1.8.2:reviewer=jsquyres
Allow MPI_MODE_NOPRECEDE | MPI_MODE_NOSUCCEED for MPI_Win_fence

This combination does not make sense but is not explicitly forbidden by
the standard so remove the argument check for this combination.

cmr=v1.8.2:reviewer=jsquyres
Fix the issue reported by Gilles Gouaillardet regarding the
MPI_PROC_NULL persistent requests.
MPI_Alltoallv.3in: fix typo

Fix minor typo reported by Xuankang Lin.

cmr=v1.8.2:reviewer=dgoodell
btl/ugni: always buffer sendi fragments

This commit will improve the message rate when using the sendi function
by not waiting for the send to get to the remote process.

cmr=v1.8.2:reviewer=ompi-rm1.8
Roll back r31519 and r31521: George convinced us that these approaches
weren't right.
update ignore list