Revised handling of append/remove upcalls: Closes bgno#721326

This approach immediately updates the remote_count when an upcall
is received, as that math is important for determining positional
addressing if another one immediately follows it.  However, the
async calls only deal in the remote count *at the time the upcall
arrived*, in effect allowing for the upcall to be serially processed
using async blocking calls.