adding the ability to redeploy a remote deployment

Signed-off-by: Gary Paige <gary@theoryblister.com>
The methods in this service weren't properly dealing with calls to the agent that might result in a 500 status.  As a result, in cases where the method attempted to create a RemoteDeployment from the http response, a NoMethodError would be raised due to an attempt to call `method=` on the new RemoteDeployment instance (this is because the 500 errors from the agent include a JSON body with a "method" attribute).  This error has actually shown up in the UI and we didn't know why.  This explains it, and this new `#handle_agent_response` method fixes it, propagating the error message up to the local agent error handler.