Better promise handling with requests.

Fix #49

- https://trello.com/card/request-promises-should-reject/51a8c7c06d8a1a70030000dc/16
- https://trello.com/card/consumers-services-should-surface-errors-in-request-and-event-handlers/51a8c7c06d8a1a70030000dc/18
- https://trello.com/card/behavior-of-card-when-capability-is-unfulfilled-currently-never-fulfills-rejects-when-making-a-request/51a8c7c06d8a1a70030000dc/2