Use the accessor function to get the jobid and vpid
Bring over some updates from the PMIx branch - mostly just minor cleanups. Make the direct grpcomm component no longer be the default. For now, we seem to be having problems with non-blocking fence operations, so make them not be the default under any scenario (e.g., when sm is the only btl in operation).
use the fbtl return value as originally intended, namely to retrieve the
number of bytes written and read. Status contains now the actual number of
bytes written for individual operations. For collective operations, this is
unfortunately not possible.
Rename an HWLOC member of a union in the diff.h file to avoid a naming conflict with an external library - it isn't that HWLOC did something wrong, but rather that the name being used is so close to a type name that other folks has a tendency to #define it as well. We could argue with those folks that what they are doing is incorrect, but it is just easier to make a slight change and resolve the problem.
Bring over a slight modification to the opal_init_test routine
resetting the counter for the iov array has to happen outside of the if statement.
- do not set the contiguous memory option in the collective operations. It
should not be stored on the file handle anyway, since it is not a property of
the file.
- protect a realloc for zero byte scenarios.
Provide missing include file - generates errors when used with Intel compilers
Since we've run into the situation where someone puts a script wrapper around a launcher such as srun, we need to always protect MCA cmd line params with quotes. This means we also need to protect the backend from quotes coming into the system as part of a value, or else the parser gets confused.

So add a new function for wrapping MCA arguments, and tell the backend parser to ignore/remove leading/trailing quotes.

cmr=v1.8.3:reviewer=jsquyres
Improve the --bind-to help message to better indicate the default options under various values of np. Remove the warning message if the user doesn't specify a binding policy and we are overloaded

cmr=v1.8.3:reviewer=jsquyres
orte/util: use ORTE_JOB_FAMILY and ORTE_LOCAL_JOBID macros
fix some zero byte allocation scenarios.
make the zero byte read/write scenarios work without the contiguous flag.
Per request from Jeff: tune up the help messages for binding options

Refs #4898
Fix MPI_Status_set_elements[_x] for non predefined datatypes

Fixes #4896

cmr=v1.8.3:reviewer=bosilca
Revert r32696
Resolve alignment issues when unpacking buffers

cmr=v1.8.3:reviewer=jsquyres
update the pvfs2 fbtl to return the number of bytes generated.
the fbtl interfaces should really be an ssize_t not a size_t, since the return
value could be negative, which is allowed for ssize_t, but not for size_t.
Per patch from Tetsuya, allow the user to bind-to none when specifying multiple pe's/rank as requested by Reuti. This allows the user to reserve multiple "slots" in the allocation for each process while mapping, but not to bind the process to specific processing elements on the node.

Reviewed by rhc, so RM-approved to go across to v1.8.3

cmr=v1.8.3:reviewer=ompi-gk1.8