Add new ErrorStatus class

Only 4xx and 5xx HTTP codes should be able to throw exceptions, since anything
else isn't actually an error.