The various 'classes' accessors that are used in the UI for displaying the Puppet classes tab only really worked for saved objects, so they're changed to work better on an unsaved cloned object. Tests now check all associations and UI accessors return consistent results for various types of class associations.
Related issues
Bug #8521: Host clone should include associated Puppet classes
fixes #8521 - fix classes accessors, copy overrides on host clone
The various 'classes' accessors that are used in the UI for displaying
the Puppet classes tab only really worked for saved objects, so they're
changed to work better on an unsaved cloned object. Tests now check
all associations and UI accessors return consistent results for various
types of class associations.