Allow custom domain names for applications

WARNING: This code is not production ready. Please do NOT merge this PR as-is!

This is just a start, allowing for early code reviews and comments. This is an attempt to fix #468

Tasks for completion of this entry

- [x] Removal of domain names once added
- [x] Validation of input (checkin if it is a valid hostname).
- [ ] Allow wildcards as first part of the domain. This should be restricted as per Heroku's spec (https://devcenter.heroku.com/articles/custom-domains#wildcard-domains)
- [ ] Use opdemand/deis-cookbook again, instead of my fork. Waiting for opdemand/deis-cookbook#54 to be merged
- [x] Authorization on adding / removing a domain name (currently this can be done if you have use_app perms on the applicaiton).
- [ ] Write documentation
- [x] Last but not least Write Tests