Merge pull request #1854 from carmstrong/remove_upgrade_documentation

docs(installing_deis): remove in-place upgrade documentation
feat(start): wait on containers to start

Previously, containers would start and would be considered "running"
once Fleet launched the container and flagged the job as "launched".
The job was launched, but that doesn't mean that the container was
running. Dropping down to systemd's level (exposed through Fleet)
allows us to wait until the container is actually running. In the case
of data containers, it waits until they have exited.

This commit also removes the start logic from `deisctl install` so that
we can just load the unit files and configure the platform before
starting it.
Merge pull request #51 from bacongobbler/wait-on-start

feat(start): wait on containers to start
doc(state): fix docstring
Merge pull request #52 from bacongobbler/fix-docstring

doc(state): fix docstring
fix(controller+client): utf-8 encode only string types
chore(utils): move encode to api/utils module
tests(controller): add api test for integer serialization/deserialization
fix(contrib/ec2): use conditional root DeviceName

Fixes #1788
fix(client): fix syntax error in config:list
fix(client): also encode keys which could be int
fix(controller): properly purge domain etcd keys on app deleteion
fix(makefile): expand paths for golint

golint requires the full path to source files. It cannot handle
directories as arguments.
fix(deisctl): use docopt's native version parser
Merge pull request #1841 from ddollar/ec2-hvm

root DeviceName is conditional on paravirtualization type
Merge pull request #1872 from gabrtv/fix-domain-purge

fix(controller): properly purge domain etcd keys on app deletion
Merge pull request #1871 from gabrtv/fix-config-ints

Fix integer handling when encoding configuration
fix(client): return error if unit list is empty
fix(client): check if unit exists
Merge pull request #54 from bacongobbler/deisctl-fixes

minor bugfixes