adding proper error handling - the library no longer throws exceptions for HTTP responses in the 400-500 range
updating README with information about new error responses