Support abort for remote storage provider

return the M.Request object so we can call the abort from
controllers or somewhere.
Merge branch 'remote_abort' into denehs