Throw HTTPError exceptions on non-2xx responses

Uses requests' built-in requests.raise_for_status()
Raise exceptions for missing/malformed authentication creds