Fixes #3578: Move opal_datatype assert fix to v1.6

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

r28398 [[BR]]
As initially reported by Eric Chamberland in
http://www.open-mpi.org/community/lists/users/2013/04/21689.php, the
assert in opal_datatype_is_contiguous_memory_layout() is not always
correct -- he supplied a test case where it was not valid,
essentially:

 1. Call MPI_Type_create_indexed_block(0, ..., &newtype) and commit newtype
 1. Call MPI_Type_create_resized(newtype, 0, nonzero_value, &resized) and commit resized
 1. Call MPI_File_set_view with resized

This will eventually call opal_datatype_is_contiguous_memory_layout(),
and the assert will fail.  After some consultation with George, it was
determined that the assert() is basically good, but it needs to also
check for (count != 0).
Fixes #3581: Move openib "no BTLs" fix to v1.6

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

r28402 [[BR]]
If there are no BTLs, do ''not'' actually shut down the fd listener,
because a) it may still be needed to shut down the CPCs, and b) it
will be shut down during component_close().