Fix replicate error handling on get error

An error from get could result in the complete callback being called twice. Prevent this from happening.
Add a test of complete callback arguments after a get error to confirm the error is handled correctly.