Changed unused reqid reply to error reason

A couple of feature writers independently discovered that the vnode
reply included an unused request id (the sender already has the request
id and ignored this one) and used that to return error conditions. That
happens for overload and CRDT operations.

This change makes the reply officially contain an error reason instead
of the unuse request id. Notice that delete replies were changed, but
they are not used right now. That should be harmless and makes it all
consistent.