implement community feedback
1. The OpenSHMEM specification is silent regarding how OpenSHMEM programs are compiled,
linked and run.  These wrappers are added to meet an example in the specification.
2. remove unused/obsolete files
Implemented by Igor, reviewed by miked
cmr=v1.7.4:reviewer=ompi-rm1.7
Add basic algorithms for the remaining non-blocking collectives.

The algorithms are intended for MPI-3.0 compliance and are not
optimized. We should aim to add better algorithms in the future through
cheetah.

MPI_Iallreduce and MPI_Igatherv on intercommunicators are required for
MPI_Comm_idup support.

cmr=v1.7.4:reviewer=brbarret:ticket=#2715
Add support for MPI_Comm_dup_with_info, MPI_Comm_create_group, and
MPI_Comm_idup.

As part of this work I implemented a basic request scheduler in
ompi/comm/comm_request.c. This scheduler might be useful for more
than just communicator requests and could be moved to ompi/request
if there is a demand. Otherwise I will leave it where it is.

Added a non-blocking version of ompi_comm_set to support ompi_comm_idup.
The call makes a recursive call to comm_dup and a non-blocking version
was needed. To simplify the code the blocking version calls the nonblocking
version and waits on the resulting request if one exists.

cmr=v1.7.4:reviewer=jsquyres:ticket=#3796
Add fortran bindings for MPI-3 communicator creation functions.

Thanks to Jeff for finding and fixing compilation issues with
the new fortran bindings.

cmr=v1.7.4:reviewer=jsquyres:ticket=#3796
Update man pages for MPI-3 and add some missing man pages for MPI-2.x
functions.

cmr=v1.7.4