Improve error messages shown from Backdrop

- Handle previously uncaught `ConnectionError`
- Make 4 new subclasses of Backdrop error:
  - BackdropAuthenticationError
  - BackdropConnectionError
  - BackdropBadRequestError
  - BackdropUnknownError
- Factor out the function which sends & handles errors so it's common
  between create & delete requests.
- Extract and use the error message from the Backdrop response JSON if
  available.

https://www.pivotaltracker.com/story/show/65645322

[Delivers #65645322]
Merge pull request #133 from alphagov/improve-backdrop-error-messages

Improve error messages shown from Backdrop