BUGFIX: Unlock piggybacking for Get_accumulate

GACC operations were both piggybacking the unlock message to the origin, and
sending back a PT done packet.  This was causing the origin to be unlocked
twice.  When another lock operation was performed between the GACC and PT done
unlock operations, there was a synchronization race.
tt#1754: fix warnings in ROMIO external32 code

This doesn't fix any of the serious bugs or inefficiencies present in
the current external32 implementation.  But it at least fixes some very
valid warnings related to const-ness and passing incorrect pointer
types.

References ticket #1754

Reviewed-by: robl
explain external32 limitations in RELEASE_NOTES

references ticket #1754.

No reviewer.
Eliminate enqueueing of lock op in RMA ops list

Prior to this patch, a lock entry was enqueued in the RMA ops list when
Win_lock was called.  This patch adds a new state tracking mechanism, which we
use to record the synchronization state with respect to each RMA target.  This
new mechanism absorbs tracking of lock operation and the lock state at the
target.  It significantly simplifies the RMA synchronization and ops list
processing.

Reviewer: goodell
PERF: Flush should ignore inactive targets

This fix enables flush to ignore non-local targets that have not been targeted
by an RMA operation.  Prior to this fix, a call to flush-all would result in
acquiring the lock at all targets, which is extremely inefficient.

Reviewer: goodell
PERF: Overlap req/wait for lock-all on shr men win

Send out all lock requests before waiting for lock acquisition.  This
should improve the performance of lock-all operations on shared memory
windows.

Reviewer: goodell