add progress calls at the end of S/V NB routines
change irma to rma since rma IS nonblocking (facepalm)
removed all gmr_i* code since it was redundant
flush local only on Acc, add brackets
make proper nb strided impl

1) remove flush calls except for the cause where local completion
   is required because temporary buffers are used and must be freed.
2) move null handle check inside of direct impl
3) non-direct impl calls Nb***V now
implement safe in terms of batched to reduce code size

safe is identical to batched with batch_size=1.
we can't just eliminate CONSRV because the safe impl is used
not only in this case but when buffers overlap.

so we added an argument to the batched code that makes it identical
to safe and disabled the safe impl altogether.

some case-switches were trivial condensed to eliminate redundancy
associated with the similarity of PUT and ACC.
implement vector nonblocking calls properly

the vector dispatch code can be generalized to support both B and NB by
adding an argument and conditionalizing the gmr_flush operation
appropriately.

please note that the safe impl is ALWAYS blocking because that seems
like the right thing to do when buffers overlap and no one using CONSRV
should expect good performance anyways.  it seems theoretically possible
to deadlock because of this choice, but that can be addressed when it is
encountered.  it would almost certainly take a deliberately
pathological application to achieve such a result.  for example, if
there are cyclic dependencies and/or synchronization, one might observe
this.  but we know of no such use cases in the wild.