Update Client to handle 400 responses from the controller

Fixes #8 by returning a more informative error:

```
$ flynn create
controller error: name must not be blank

$ flynn create "&"
controller error: name is invalid
```

`ControllerError` is pretty similar to `ValidationError`, but I wasn't sure the best way to handle that duplication.