Error status codes

Various frameworks are opinionated about the status codes they return for user-errors (eg validation failed).

Status codes that are treated as UserError can now be configured when initializing the client

```ruby
    client = Transport.new('http://localhost:4567',
                           :error_status_codes => [409, 422])
```

Eg, Rails returns 422 for "validation failed" by default.