Better diagnostics sending messages

When sending messages, trying to confirm, etc, raise exceptions
in more places rather than just logging a problem, and make some
of the exception messages more detailed.
Merge pull request #57 from dpoirier/better-diagnostics