Add classes for all error codes
Always set Content-Type, and Content-Length if possible

An aiohttp sets the header sometimes, sometimes not, that breaks our
signature algorithm. See aiohttp#184