Record a statsd metric for Apigee failures

Split Bamboo error handling so recognises the service.
Improve tests of Client.
Quite a few bits of refactoring. Might need a sit down review.

Linked to https://github.com/iplayer/responsive-web/pull/2331

https://jira.dev.bbc.co.uk/browse/IPLAYER-18978