fix(*): etcd_set_default and etcd_safe_mkdir raise some errors

Currently, both `etcd_set_default` and `etcd_safe_mkdir` in
the /bin/boot scripts never fail due to `|| true`. This is usually
desired because if the key already exists, we don't want to overwrite
it. However, if there is an underlying error connecting to etcd, we
swallow that as well.

This commit exploits the fact that `etcdctl` has different exit codes
for key errors and etcd errors to swallow only the errors we wish to.
chore(controller): update python-etcd to 0.3.2
Merge pull request #2308 from carmstrong/etcd_set_default-error_checking

fix(*): etcd_set_default and etcd_safe_mkdir raise some errors
docs(*): move installing deisctl guide to "Installing Deis"
Merge pull request #2327 from carmstrong/move_install_deisctl

docs(*): move installing deisctl guide to "Installing Deis"
docs(reference): add controller API documentation
ref(docs): remove REST API autodocs

These autodocs have been superseded by the API v1 documentation, which
is more verbose and gives examples on how to use the API.
Merge pull request #2319 from mboersma/update-py-etcd

chore(controller): update python-etcd to 0.3.2
Merge pull request #2328 from bacongobbler/1490-api-v1

docs(reference): add controller API documentation; remove server autodocs
docs(testing): add better instructions for contributors
ref(docs): error on warnings for all Makefile targets