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