fix(controller/scheduler): only announce 'web' and 'cmd' processes

Currently the nginx routers gets announced all types of processes.
This causes problems as both non-web and web processes are mixed
together by the router. The router should only be serving 'web'
processes for buildpacks or 'cmd' processes for dockerfiles.

This fix stops announcing any processes that does not have '.web'
or '.cmd'.

closes #1256
fix(scheduler/coreos): correct announce container logic for process types

Previously, the logger and proctype comparison logic were incorrect.
fix(scheduler/coreos): have announcer fail if it cannot get a port

Instead of publishing an invalid upstream for the router to use,
we simply check if the port is nil and exit.
Merge pull request #1269 from deis/1251-fix_portless_apps

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