feat(controller): add endpoint and infrastructure for limiting memory/cpu
feat(client): add commands for managing memory/cpu limits
fix(controller): tack on host/port to image id

With the changes to how we store images in the controller, we stripped
the host/port from the image. We must add it back if we want to pull
it from the registry.
Merge pull request #1517 from deis/hotfix-apps-run

fix(controller): tack on host/port to image id
tests(integration): add check for systemd unit file droppings
tests(integration): document regression test for `clusters:update --auth=`

We already had a regression test to ensure the deis CLI wasn't just
sending the key path when updating the cluster. This change makes that
clearer and clarifies the output of the `CheckList()` test function.
fix(builder): bump timeout to 30m

The builer component times out not infrequently because it pulls
deis/slugrunner and deis/slugbuilder. Sometimes, if the Docker Hub
is slow, it takes several tries to get this running. Bumping the
timeout isn't a solution, but it is hopefully a stopgap.
Merge pull request #1523 from deis/test-regression-unitfile-removal

tests(integration): add check for systemd unit file droppings
Merge pull request #1524 from deis/bump_builder_timeout

fix(builder): bump timeout to 30m
Merge pull request #1525 from deis/test-regression-auth-update

tests(integration): document regression test for `clusters:update --auth=`
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.