Validate controller examples

@titanous 

dependent on #471 
So looking at [the change you made](https://github.com/flynn/flynn/blob/57eac30/test/test_controller.go#L114-L116), the test tries to set `ADDR` to the IP of the controller, but really `ADDR` needs to be the address of the host where [this is running](https://github.com/flynn/flynn/blob/57eac30/controller/examples/examples.go#L126-L149), which currently is the same host that `flynn-test` is running on, and is not necessarily the same as where the controller runs.

Also, in the tests, the controller domain is made up and [stored in /etc/hosts](https://github.com/flynn/flynn/blob/57eac30/test/cluster/cluster.go#L435), so I'm not sure if `net.LookupIP` will resolve it correctly.

I think we should change things so that [this server](https://github.com/flynn/flynn/blob/57eac30/controller/examples/examples.go#L126-L149) runs on the Flynn cluster (which is possible as we have a controller client). The server could then register itself with discoverd using the default `DISCOVERD` env var rather than using `ADDR`, and is guaranteed to be reachable by the controller.

WDYT?