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
Just because the openib BTL can't reach a process doesn't mean it is a job-ending error. If we have other methods for reaching the process (e.g., sm for a local proc), then that's okay. If there is no method for reaching a proc, then that's an error - but the BML will report that situation.

The question of whether or not the openib BTL supports loopback is a separate question. It may be more appropriate to make the modex be PMIX_GLOBAL for cases where openib can support loopback so someone can run without a shared memory component. I'll leave that decision to the IB vendors.
Avoid conflicts when multiple collectives are underway in ORTE by giving each grpcomm component its own RML tag and posting persistent receives. We use the signature anyway to determine which collective the received message is addressing, so there is no need to post non-persistent receives.
Silence an unused function warning
Save the clang settings for detecting alignment issues - I don't want to have to remember the cmd line jango
the length of the iov array should be limited to IOV_MAX, which is defined in limits.h
Merge remote-tracking branch 'ompi/master'