This is a mega-CMR commit that resolves 2 v1.7.4 CMRs:

* Fixes #3785: MPI-3.0: Update C bindings
* Fixes #3802: Move r29265 to v1.7 branch (MPI-3: Add support for neighborhood)

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

r29265 [[BR]]
MPI-3: Add support for neighborhood collectives

Blocking versions are simple linear algorithms implemented in coll/basic. Non-
blocking versions are from libnbc 1.1.1. All algorithms have been tested with
simple test cases.

cmr=v1.7.4:reviewer=jsquyres

r29283 [[BR]]
Add some missing declarations to allow the new Fortran neighbor
collective interfaces to compile.

r29299 [[BR]]
Fix the !MPI_[I]Neighbor_* mpi_f08 interfaces.

Use the same trick for send/recvtypes as we did in r29298 for
![I]Alltoallw.  Also, add all prototypes for all the back-end
ompi_neighbor_*_f functions.

Refs #3802

r29302 [[BR]]
Missed updating the profiling versions of the neighbor collectives in r29299.

Refs #3802.

r29319 [[BR]]
Don't check for neighborhood collective routines on non-virtual topology communicators

r29344 [[BR]]
At coll_select time we can not check whether the communicator has a
virtual topology. Remove code checking for a virtual topology until
this flag is set before coll_select.

r29371 [[BR]]
Remove erroneous use of "MPI_Aint".

There is no "MPI_Aint" in the Fortran interface.  Surprisingly, the
Intel compiler didn't choke on this, but the Absoft compiler did.

r29396 [[BR]]
Add weak symbol #defines.

Fixes compile errors if you compile --without-weak-symbols.

r29266 [[BR]]
MPI-3.0: update C bindings with const and consistent use of [] for
arrays.

The MPI 3.0 standard added const to all in buffers in the C bindings. This
commit adds the const keyword and in most cases casts const away. We will
eventually should go through and update the various interfaces (coll, pml,
io, etc) to take the const keyword. The group, comm, win, and datatype
interfaces have been updated with const.

cmr=v1.7.4:ticket=#3785:reviewer=jsquyres

r29278 [[BR]]
Add a missing "const" to MPI_Unpack (addendum to r29266).

Refs #3785.

r29280 [[BR]]
Temporary VT fix:

* Always enable "const" in the wrapper functions, even though Open MPI
  doesn't advertise itself as MPI-3.0 yet
* Remove CONST from MPI_Type_hindexed, MPI_Type_struct (because
  they're deprecated functions, and never had const added to them)

r29314 [[BR]]
revised r29280

r29317 [[BR]]
revised r29314
	- adapted Open MPI version check (the "const" stuff will come with version 1.7.4, not from 1.9.0)
	- removed the const keyword from the deprecated functions MPI_Type_hindexed and MPI_Type_struct
	  TODO: Since MPICH v3.x adds the const keyword to that functions we need a configure test to figure out whether adding const is required. (only relevant for the stand-alone version of VampirTrace)