Fixes #4761: usnic: Move part of r31871 to v1.8

Partial patch from r31871

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

r31871 [[BR]]
usnic: re-order teardown sequence now that del_procs() is actually called

Now that the infrastructure is calling BTL del_procs() before the BTL
finalize(), the usnic BTL had to re-order some of its teardown
sequence to avoid assert() failing.

This is part of a larger conversation involving #4669.  Since
MPI_FINALIZE and MPI_COMM_DISCONNECT currently use an
oob/grpcomm-based barrier, the usnic BTL can ''absolutely know'' that
these endpoints and procs will no longer be used.  If the ORTE DPM
goes back to a PML-based barrier, the usnic BTL will need to grow more
complex teardown semantics (a la TCP socket FIN/ACK/FIN_WAIT states).

Refs #4669
Fixes #4762: Move r32134 to v1.8 branch (usnic: make this show_help message)

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

r32134 [[BR]]
usnic: make this show_help message like the others

There's no need for the port number (since usNIC has no port numbers),
and make the wording the same as other help messages.

Reviewed by Reese Faucette.

cmr=v1.8.2:reviewer=ompi-rm1.8
Fixes #4763: Move r32135 to v1.8 branch (usnic: EHOSTUNREACH means there is)

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

r32135 [[BR]]
usnic: EHOSTUNREACH means there is no route

ibv_create_ah() can also return EHOSTUNREACH, which means that there
is no route to the peer.  Treat that as a non-fatal warning.

Reviewed by Reese Faucette.

cmr=v1.8.2:reviewer=ompi-rm1.8
Fixes #4619: Move r31744 to v1.8 branch (bcol/base: cleanup code and fix)

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

r31744 [[BR]]
bcol/base: cleanup code and fix memory leak

The items in the available bcol list were getting leaked. This commit
fixes this leak. I also cleaned up the code a bit. This includes
making use of the opal_argv_free function.

cmr=v1.8.2:reviewer=manjugv