pml/ob1: bug fixes and adjustments for changes in btl_sendi behavior
btl: fix warning about enum type and modify btl_sendi to allow the
value NULL for the descriptor

The send inline optimization uses the btl_sendi function to achieve
lower latency and higher message rates. The problem is the btl_sendi
function was allowed to return a descriptor to the caller. This is fine
for some paths but not ok for the send inline optimization. To fix
this the btl now must be able to handle descriptor = NULL.
btl/sm fix compilation when not using CMA or KNEM
more openib updates
btl/openib: fix recieve queue source detection
btl/openib: fix message coalescing
btl/openib: misc cleanup (tabs, etc) and put credit code into a common place (was duplicated in the send and sendi paths)