Fixing tests, better error handling

Message will be undefined, I was thinking if we don't return an error we should inspect the statusCode and have a default set of messages to help resolve issues. Even give URLs to documentation to fix common errors that we don't have good errors around, like 400 requests.