Fixes #4023: Move r30055 to v1.7 branch (Several changes:)

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

r30055 [[BR]]
Several changes:
- Modifications to coll/hcoll component related to the changes in the libhcoll API. 
  Now, hcoll_destroy_context accepts one more parameter that indicates if the context was
  really destroyed as a result of the call. 
  This new "non-blocking" context destruction fixes hang discovered in IMB with mcast enabled. 
- Clean up all the left contexts (if any) on the comm_world destruction. 

fixed by Val, reviewed by miked
cmr=v1.7.4:reviewer=ompi-rm1.7
Fixes #4025: Move r30059 to v1.7 branch (cleanup loop in sharedfp)

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

r30059 [[BR]]
Cleanup a loop that couldn't possibly execute as the outer loop indexed was being reused by the inner loops, leaving the index at the cutoff point after the first iteration

cmr=v1.7.4:reviewer=edgar:subject=Cleanup loop in sharedfp