Engine: pull in foreman defacing from foreman-katello-engine

This commit pulls in the logic from foreman-katello-engine
to deface the hostgroup and host UIs.  This is to add support:

- associating katello environment & content view with hostgroups
  and hosts
- assocate katello activation keys with hostgroups

This commit does contain several changes to work with the latest
foreman UI, which has changed causing the existing code not to work.

This commit is only intended to pull over the existing functionality;
however, we plan to revisit it later further improvements.