chore(contrib/gce): make GCE script pass flake8

Also do a few stylistic changes:

 - prefer double quotes instead of single quotes
 - functionize commonly done tasks
 - use exit code
Merge pull request #1593 from deis/contrib/gce/flake8

chore(contrib/gce): make GCE script pass flake8
Updated header

The new header makes a bit more sense to me as a flow.
Merge pull request #1614 from jamtur01/patch-1

docs(docs/installing_deis/register-admin-user.rst): Change section header
fix(client): set cookies.txt readable only by current user
docs(contrib/ec2): document recommended instance size
Merge pull request #1621 from carmstrong/ec2_instance_warning

docs(contrib/ec2): document recommended instance size
Merge pull request #1617 from mboersma/1611-cookies-perms

fix(client): set cookies.txt readable only by owner
docs(installing): fix typo in load balancers doc
ref(cache): remove confd from deis/cache
fix(controller): don't encode empty JSON objects or arrays as strings

The django-json-field 0.5.5 package has a bug encoding empty JSON objects.
Instead use a subclass which fixes this as a special case.
Merge pull request #1616 from mboersma/1563-fix-empty-json

fix(controller): don't encode empty JSON objects or arrays as strings
Merge pull request #1628 from deis/fix/no-confd-in-redis

ref(cache): remove confd from deis/cache
chore(tests): update etcd to match CoreOS 402.2.0

https://github.com/coreos/etcd/releases/tag/v0.4.6
chore(docs): update Sphinx reqs and remove pexpect
fix(docs): silence header warnings and restore broken links
Merge pull request #1640 from mboersma/fix-sphinx-links

fix(docs): silence header warnings and restore broken links
Merge pull request #1638 from mboersma/update-etcd-tester

chore(tests): update etcd to match CoreOS 402.2.0
fix(controller): store limit fields on config

Having a separate "Limit" domain object was getting in our way, when
really it represents just an extension of a Config. This moves the
two JSON fields "cpu" and "memory" to Config and does away with Limit.
fix(controller): specify dicts as defaults and guard against old errors

We should have been initializing our JSONFields with dict objects, not
strings. Also upgrading from a slightly earlier version of Deis to this
change could hit a JSON encoding error, so catch that and use the chance
to clean up the data. Also reverted the unnecessary workaround of
subclassing JSONField.