feat(controller): add endpoint and infrastructure for limiting memory/cpu
feat(client): add commands for managing memory/cpu limits
chore(client): remove unused client tests

We use integration tests to check the expected output of certain
commands. These tests have been unused and unmodified in quite some
time. Maybe when we rewrite the client in Go, we can draw upon these
for inspiration, but right now they aren't doing much.
docs(client): add more clarity to limit:set
docs(client): more clarity on limit:set options
docs(reference): add deis limit autodocs
Merge pull request #1526 from deis/remove-client-tests

chore(client): remove unused client tests
ref(client): rename limit to limits

'limits' follows our other commands' syntax much better i.e. apps:list,
releases:rollback etc.
docs(client): more clarity on limits:set
ref(client): move options from argument list
fix(client): move options list before arguments

Docopt does not allow additional commands after ellipsis as it's hard
to determine when they end (e.g. is this argument an arg or an option?).
ref(controller): move limits to Config model

A Release is a Build and a Config, not a Build, Config and a Limit.
Limits make sense as configuration for the Build, so this moves it
over as a Config field.
style(client): flake8
ref(tests): move test commands into code

Deis' integration tests are more approachable without the
indirection of looking them up from a JSON fixture.
ref(tests): move exported Test* funcs to top of files and tidy up code
ref(tests): combine and shorten names of Go utility packages
fix(controller): rename /limit to /limits
docs(controller): add Limit server autodocs
style(controller): revert code folding
fix(tests): remove GetCommand() func and vendored simplejson package