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(Vagrantfile): add fallback to rsync

In some cases (namely when using an encrypted filesystem),
a `vagrant up` will fail due to an NFS error. In these cases,
it is necessary to fall back to rsync to share code between the
local filesystem and the VM.

This commit adds a comment to the Vagrantfile with these instructions
and the necessary config directive.

related to #942
Merge pull request #958 from deis/fallback_to_rsync

feat(Vagrantfile): add fallback to rsync
fix(contrib): seed hosts for CDN workaround

We are seeing lots of slow CDN issues. This is a workaround as
shown in https://github.com/dotcloud/docker/issues/2461#issuecomment-40796941
docs(README): adds troubleshooting information

Detail the most commonly-experienced issues when provisioning Deis,
along with suggested workarounds/fixes. Hopefully this will amount to
a better experience for new Deis users.
Merge pull request #962 from deis/troubleshooting

docs(README): adds troubleshooting information
fix(README): fix typo
fix(Vagrantfile): fix vagrant sync command

The correct command is `vagrant rsync`. A reload/provision is unnecessary.
Merge pull request #961 from deis/add-hosts-entry

fix(contrib): seed hosts for CDN workaround
docs(*): clarify clusters:create options

The documentation around clusters:create was confusing. This commit
adds more information in both the README and the CLI's help option
for clusters:create.

closes #959
Merge pull request #963 from deis/explain_clusters_create

docs(*): clarify clusters:create options
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