fix(test): don't fail if already registered, and pause for builder

Adding a `sleep` call avoids an occasional error when we fire off
`deis create` before the builder is ready, and `|| true` allows the
test to be repeated when the *test* user is already registered.
feat(contrib): add changelog script

This script assists in generating the changelog from one release
to another.

To retrieve the changelog from a specific tag to HEAD:

    $ ./generate-changelog.sh <tag>

To retrieve the changelog from two different tags:

    $ ./generate-changelog.sh <from> <to>
fix(CHANGELOG): prep for changelog script

This change is necessary to accomodate for generate-changelog.sh
available in contrib/util. With these changes, it's as easy as

    $ ./contrib/util/generate-changelog.sh v0.7.0 v0.8.0 | cat - CHANGELOG.md > tmp && mv tmp CHANGELOG.md

Which will generate the changes from v0.7.0 to v0.8.0 and append the
output to the top of CHANGELOG.md. The title was redundant, anyways.
style(contrib): make changelog consistent

The precedent is to generate the header of each version in
CHANGELOG.md as a h3 header. This bumps the header generation down
to that level for consistency.
feat(builder): expose runtime configuration during slugbuilder execution

This uses a new Config API Hook to grab the latest app configuration
and expose it to slugbuilder using `-e` flags.

While this works, it is a very good mechanism for handling user-defined
inputs on the builder.  In other words, command-injection is possible
through malformed inputs.  We must consider this as we move to refactor
the builder in Go.
fix(app): only set initial structure when build hook is triggered

As part of the effort to move code from views into models,
we would always scale an app to an initial structure on every deploy.
This made it impossible to, for example, set a BUILDPACK_URL without
triggering a false deploy and timeout.

Moving the logic back into the BuildView where it belongs.
fix(flake8): fix spaces and a docstring
fix(builder): add scale() back to first build
Merge pull request #947 from deis/integration-test-fixes

fix(test): don't fail if already registered, and pause for builder
docs(contrib): github-changes -> changelog script
Merge pull request #960 from deis/config-during-build

Expose runtime configuration during slugbuilder execution
Merge pull request #954 from deis/changelog-script

feat(contrib): add changelog generation script
chore(contrib/*): update to CoreOS 310.1.0

We should be running the same CoreOS version everywhere.
Merge pull request #966 from deis/coreos_310.1.0-contrib

chore(contrib/*): update to CoreOS 310.1.0
feat(router): support for multiple routers

This commit adds functionality to the Makefile to launch multiple
routers, which is the first step towards a HA Deis installation.

Additional routers can later be added to an existing cluster by setting
DEIS_FIRST_ROUTER to start the router numbering at something other than 1.

Note that load balancing / DNS records must still be set up manually.

closes #922