Changing recommended client library behavior when encountering 404 error
response to a change and add a condition for processing remote delete changes.

Previously:
404 - no recommendation of what to do.
Delete change - remove the local object.

Now:
When encountering 404 the library should repost the change with the full object
in the `d` field (as in the 405 case). Similarly, when processing remote changes
from the server, if the change is to delete the object, the library should only
delete the object if there are no local modifications.
If there are local modifications:
  - If those modifications have already been packaged as a change, library could
  send the change then process the 404 as above
  - If those modificaitons have not already been packaged as a change, the
  library could generate a new change that effectively re-creates the object