Improve Dockerfile and Procfile workflows

This PR refactors the builder logic to better support Dockerfile builds alongside Heroku-style builds.  Improvements and refactoring include:

- store SHA, Procfile and Dockerfile when builds flow throw the builder component
- auto-scale web=1 for heroku workflow, cmd=1 for docker workflow
- detect exposed ports rather than using hardcoded 5000/tcp
- add container type check before scale operations (fixes #496)
- use SHA in release summary if available
- fix operator precedence bug from deis/deis#890
- add tests for heroku and docker workflows, plus tests for invalid process types

There are still open questions about how we want the logic to work on initial scaling, etc.  I also plan to add new documentation for both workflows.  However, I wanted to get this PR submitted now for initial feedback.

*Please note this PR includes commits from the `config-during-build` branch, which must be merged first.*