fix(scheduler/coreos): fix apps announcing themselves with no port

This PR contains commits which together address the issues relating to apps not announcing a port. This causes the router component to write an invalid configuration file.

TESTING: rebuild the controller
```console
$ make -C controller stop build start
```

Now, deploy an application which contains a ```web``` Proctype. Note that it should scale just like it always did.
Same with a Dockerfile (cmd type). Now, add a ```clock``` proctype (or just about anything else) to the Procfile and note that no announce containers will be created when the app is scaled.

Testing the lack of port assignment is more difficult - hopefully those who saw the error can confirm this fixes it.

closes #1251, closes #1260, closes #1256
I could, but not sure we want to remove at any specific time. There's no guarantee that v1.1.0 will fix this particular port issue, and not getting a port is a good failure condition IMO.