fix(deisctl): "deisctl scale router=N" uses async interface

The scale command uses a similar async WaitGroup interface to other
commands now, which fixes the scale command. Also disallows scale
operations on anything but router, since other unit types do not
expect the "unit@1" naming scheme.
ref(tests): update vendored code for Docker 1.3.0
style(tests): invoke golint correctly and clean up its warnings
ref(tests): test docs/ before building any images to fail faster

An error in the reStructuredText sources under docs/ is a hard error
that will stop the tests, but the test scripts will needlessly build
all the docker images before finding that out. This change tests the
docs first, then moves on to component tests.
chore(controller): update djangorestframework to 2.4.3
ref(user-data): "make discovery-url" copies from user-data.example

This also adds contrib/coreos/user-data to .gitignore, so that local
changes to this essential file do not cause "git status" to mark the
repo as dirty.
fix(Vagrantfile): require user-data when provisioning
Order steps for deis installation (vagrant)
feat(store): add store-volume and store-metadata

These components enable the logger and controller to mount
a shared filesystem backed by CephFS.
fix(deisctl): adjust start order for logger/store
fix(deisctl): remove logspout from data plane
ref(logger): switch to ubuntu-debootstrap image
ref(router): just use go. remove bash script
ref(.gitignore): collapse distributed patterns into root .gitignore
style(*): use golint recursively on all packages
fix(deisctl): "deisctl scale router=N" also starts units