Exception handling fixes

The method signature for #response changed in the last cherry-pick.
The error handling here is specific stuff we've added to our branch. I had these changes originally in my PR: http://git.io/MXfOag but when I cherry-picked the version that got into spree/spree_wombat I failed to reapply them.

After we get this fix out we probably want to follow up with adding some specs and look at possibly getting our differences into spree/spree_wombat.