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
Merge pull request #2265 from mboersma/tests-use-docker130

ref(tests): update vendored code for Docker 1.3.0
Merge pull request #2260 from mboersma/fix-deisctl-scale

fix(deisctl): "deisctl scale router=N" uses async interface
Merge pull request #2266 from mboersma/test-docs-first

ref(tests): test docs/ before building any images to fail faster
Merge pull request #2270 from mboersma/update-drf243

chore(controller): update djangorestframework to latest 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
Merge pull request #2118 from mboersma/fix-user-data

ref(user-data): "make discovery-url" copies from user-data.example
style(*): use golint correctly, once per go package