Better errors

Some tweaks with how Responses track errors.  Also started on the package docs because why not.

Don't merge yet, this is branched off the httpcache branch.