feat(controller): add Domain model

This is added in the API with 2 new URLS

GET /apps/{app}/domains to retrieve the list of the domains
POST /apps/{app}/domains/{domain} to create a new domain.

The CLI is adapted to make use of this new API.
hook up domains to router
fix(confd): give controller/router /deis access

Both components require access to /deis/domains, which holds the
keys for all application domains. Since /deis/domains does not
exist at first boot, confd will complain that /deis/domains
does not exist as a key if you supply it to the keys list. Since
the /deis key always exists, setting the keyspace one level lower
fixes this issue.
style(router): add newline
Revert "fix(confd): give controller/router /deis access"

This reverts commit e647336741cd1d2955e61e0b888d95be76c8817d.
fix(controller): add /domains access in confd
fix(router): resolve golang template scoping issue
fix(client): cleanup domains output
fix(controller): do not deploy releases on domains

Heroku doesn't deploy a new release when you add a domain to an app.
Neither should we.
feat(controller): log domains deployed
fix(client): handle created response code on domains:add
refactor(domains): cleanup domain publishing logic and URLs