Fix #164:  Map HTTP error responses for storage onto specific exception classes.

Fixes #164.
We "want" a lookup from HTTP response code -> exception class.  I don't think introducing a metaclass would make this code any cleaner / nicer / more understandable.

Note that metaclasses are widely reputed to "explode heads", e.g. see Guido's [Killer Joke post](http://python-history.blogspot.com/2009/04/metaclasses-and-extension-classes-aka.html).