404 or other non-200 response codes were always throwing an IOException.

This fixes it so that it always returns the body (and the error codes are set appropriately).

Additionally, began work on fixing the print-db tool.
Fixed bug 2676. Exceptions are now properly handled.
Fixed cookiejar usage, added examples.
Added gzip and deflate compression Accept-Encoding default headers.

This should significantly increase page load speed when using http_request.
Started to add proxies, but there is a case where it freezes permanently, so it's not exposed yet.
Added killer to player_death.
Set null if not applicable.
If the enum passed in is null, just return null too.
Make player_death use detailed 'cause' array, add item_spawn event
Fix some code before PR