oob/tcp: fix a race condition

Mimick the btl/tcp protocol to solve the race condition that happens
when two peers try to connect to each other at the same time

cmr=v1.8.4:reviewer=rhc

This commit was SVN r32799.
(cherry picked from commit 9661e4537fc6d932c63e4680b23cfd86a3f64035)
OSHMEM: sshmem verbs: allocate memory at fixed address

Use experimental verbs to allocate memory at fixed base
virtual address.

verbs will disqualify itself if shared_mr is disabled
or not supported and it is impossible to allocate memory
starting at fixed base virtual address.

verbs contig pages allocator did not guarantee fixed va, now it does.
(cherry picked from commit fd77ebd4525e9e0c1a3ab1c4966bf31aa45251b4)

Apply Jeff`s comments

Update with Jeff commits
oshmem mmap: new mca parameters were introduced - sshmem_mmap_anonymous, sshmem_mmap_fixed and sshmem_base_backing_file_dir - for runtime mmap management.

(ompi commits: ce4ee2aa8d960eb72292f5bb64108e5a85796e1d, 3e7002e8aad2a2fe0835c67b9714dceef3c4b31b, b2a93943dc5cc7602cb8ed83e65524452beb82c7)
btl/vader: bring up to date with fixes/updates from trunk

This commit brings the following commits from master:

open-mpi/ompi@12bfd13
open-mpi/ompi@79881ca
open-mpi/ompi@a31cf3b
open-mpi/ompi@13642f5
open-mpi/ompi@f56169c
open-mpi/ompi@1a3734a
open-mpi/ompi@13643f5
open-mpi/ompi@d60f0cb
open-mpi/ompi@75e8387

The most relevant changes:

 - Add support for KNEM. Allow selection of the single-copy mechanism
   at runtime. The default behavior has not changed. Vader will continue
   to use the best available mechanism. If the default mechanism is
   not available vader will fall back on another mechanism.

 - Improved CMA support. Code now determines if CMA can be used and
   (if possible) sets the appropriate ptrace permissions so it can
   be used.

 - Improved memory scaling by allocating fast box memory only once a
   send threshold has been met. This addresses an issue discovered by
   Riken.

 - Better fast-box design that further improves the small message
   performance.

Pieces of other relevant commits are also included in this commit.

Tested with XPMEM, CMA, and KNEM with Linux kernel 3.13.
btl/vader: bring over defensive programming changes from master

master commits:

open-mpi/ompi@e1bc2de8533220d8f5e5bbf7bb364006f4d6c7e7
btl/vader: update help messages

Contains master commits:

open-mpi/ompi@55a5c99ff0027663f55a89a06ea2047d1ee3a155
open-mpi/ompi@d72fc7a05fa5cff26c5fab99cc631b2f2dc8c8b0
man: remove stale Java bindings from MPI man pages

Fixes #244

(cherry picked from commit ec7808cd27fa30cca2b7a189dc2c8363772fbc90)
man: add $COPYRIGHT$ token and emacs mode to all man pages
help-opal-shmem-mmap.txt: trivial typo fix

(cherry picked from commit 5207429734d131f80397c7bdab12f52de05881a2)
Add missing Fortran binding for Win_allocate.

(cherry picked from commit 9020a1c1f6b1a716e6aafdac5a8f00ede3abf489)
shmem/mmap: do not use O_CREAT in shared memory attach

master commit
open-mpi/ompi@56a8687c2a06b503a00dc92c41bd20bf761e040d
osc/rdma: fix issue identified by Berk Hess

osc/rdma uses counters to determine if all messages have been received
before exiting synchronization calls. The problem is that the active
target counter is always increasing (never zeroed). If over 2^31-1
messages are sent this causes the counter to overflow (in itself this
isn't an error). This causes test/wait to return before the communication
is complete. There is an additional error in the use of the fragment
flush function. If PSCW synchronization is in use this function CAN NOT
be called unless a post message has arrived.

Relevant mailing list thread: http://www.open-mpi.org/community/lists/devel/2014/10/16016.php

This commit fixes both issues. Tested against MTT and issue reproducer.

(cherry picked from commit open-mpi/ompi@eed7b45db59b356f6257f3b019e77643f14f84ce)
osc/rdma: use unsigned types for all counters

Some of the counters used by the "rdma" one-sided component are intended
to overflow. Since overflow behavior is undefined for signed integers in
C it is safer to use unsigned integers here.

(cherry picked from commit open-mpi/ompi@23dd3af946dbfec55f3261c2a1a8e3ea30ed695c)
Merge pull request #55 from jsquyres/pr/1.8-fortran-win-allocate-bindings

Add missing Fortran binding for Win_allocate.
Merge pull request #54 from jsquyres/pr/1.8-trivial-help-msg-typo-fix

help-opal-shmem-mmap.txt: trivial typo fix
Merge pull request #47 from hjelmn/v1.8_rdma_fixes

osc/rdma: bring over one-sided fixes from master
Merge pull request #9 from miked-mellanox/topic/fix-verbs-allocator-to-use-fixed-va

fix verbs allocator to use fixed VA for memheap
Merge pull request #56 from hjelmn/shmem_mmap_fix

shmem/mmap: do not use O_CREAT in shared memory attach
Merge pull request #52 from jsquyres/pr/1.8-man-page-java-fixes

Man page fixes
Merge pull request #32 from nkogteva/oshmem_mmap_mca_vars

oshmem mmap: new mca parameters were introduced - sshmem_mmap_anonymous,...