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
We use `print` several other times in that file, and `logger` is undefined in the FleetClient class. If we want to refactor to use logger instead, that should be a separate commit/PR. 

```NameError: global name 'logger' is not defined```