Bring across my first phase of commloops development.
This focused on turning storeClientCopy() into a stream-type callback,
trying to act like the stream storeAppend() is for the server side.
* storeClientCopy() has lost the seen_offset parameter
* storeClientCopy*() track the last copy offset and size, so the code
can _enforce_ that the modules using it have been converted into stream
routines properly
* all the modules using storeClientCopy() have been converted.
I'm sure there are remaining places where the stream enforce will be
triggered - these are the evil places noone speaks of, and will probably
be exorcised in the third round of commloops (which will probably be
a modio exercise.)