fixes #7069 / BZ 1123959 - host<->content host - improve behavior when puppet env, lifecycle env or content view change

This commit is intended to improve the behavior between foreman host and
katello content host.  More specifically,

- if the foreman host puppet environment changes, we'll attempt to update the content
  host lifecycle environment and content view

- if the content host lifecycle environment and/or content view changes, we'll attempt
  to update the foreman host puppet environment
You could just do:

```ruby
after_update :update_content_host, :if => :environment_id_changed?
```