Handle Internal Errors from bloomd, and allow clients to limit the number of acceptable errors

Hello @nicks, @dpup, @yeungsteph, @chaos, 

Please review the following commits I made in branch 'jamie-handle-internal-errors'.

4ae95efc0fad0143f4a8b3dad5d9fc7abf980a09 (2014-05-13 22:17:03 -0700)
Handle Internal Errors from bloomd, and allow clients to limit the number of acceptable errors

This adds support to the client for handling bloomd's internal errors errors more sanely. It
also adds maxErrors, so that an application can control how many internal errors are acceptable
before giving up. Finally, it adds command data onto the returned error object, so we have more
information for debugging when anything unexpected happens.

Next up, I'll be adding a mock bloomd service so we can test failure cases more effectively.

R=@nicks
R=@dpup
R=@yeungsteph
R=@chaosgame