Exceptions are top-level concerns

No one should have to go hunting for what exceptions can be thrown from
Thumbtack
Finer-grained error handling

Pinboard's API exposes errors through the result codes for some API
response types:

https://pinboard.in/api/#errors

These endpoints roughly correspond to 'commands' in the CQRS sense. In
Thumbtack, all of these API actions were exposed as chainable command
methods. This change acknowledges the difference between 'command' API
requests and 'query' API requests and does error checking on the result
of command requests. If the result code is not 'done', a exception
(`ResultError`) is
raised.