do not use class variables for taxonomix.

This can have side effects as its evaluted on the class rather then the object
ensures that validation does not get triggered for new taxonomy objects
fixes #2160 - do not store Finished catalog run messages
fixes #2159 - Provisioning information shown in locations/organizations while provisioning is disabled.
fixes #1827: use ids instead of names for templates routes
fixes #2124 - only include classes from the host current environment.

This patch introduce a new setting, which decide how would foreman
address a mismatch between host and hostgruop environments.

for example, when puppet classes (directly or indirectly via hostgroups) that do not
belongs to the host current environment, they would silently removed from
the class list that foreman suggests as an ENC.

NOTE: this only effects the new ENC output (/w param classes).
fixes #2161 - Cannot delete a host if the compute resource VM is already deleted
fixes #2154 - "Foreman" link in main navigation should link to dashboard
fixes #2141 - Trends grahs issue
Merge remote branch 'theforeman/develop' into develop

* theforeman/develop:
  fixes #2141 - Trends grahs issue
  fixes #2154 - "Foreman" link in main navigation should link to dashboard
  fixes #2161 - Cannot delete a host if the compute resource VM is already deleted
  fixes #2124 - only include classes from the host current environment.
  fixes #1827: use ids instead of names for templates routes
  fixes #2159 - Provisioning information shown in locations/organizations while provisioning is disabled.
  fixes #2160 - do not store Finished catalog run messages
  ensures that validation does not get triggered for new taxonomy objects
  do not use class variables for taxonomix.