Fixes #8400: Remove eager loading of puppetclass in lookup_keys index
Fixes #8401: n+1 query on group parameters host edit

Hostgroup tries to eager load the group parameters but there's an error
in the code that renders the eager loading useless.
Fixes #7032 - Rake backup accepts destination file
refs #7032 - fix documented backup filename
Fixes #8551 - use most specific matcher for inherited hostgroups

Host recieves correct smart_class_parameter value when multiple overrides for
inherited host groups exist for parameter.
Fixes #8416 - Fix Puppet classes form n+1 queries
fixes #8592 - allow plug-ins to modify multiple hosts actions

Refactoring patern: Extract method.
fixes #8590 - handle missing 'config' when listing vSphere VMs
fixes #8591 - explicitly set where to subnets.id
fixes #8477 - usability improvements to template locking/defaults
refs #8477 - fix string interpolation and spelling
Fixes #8620 - Remove useless back to host index link in multiple hosts action
Fixes #7456 - Extract primary interface from host

All host must have at least one primary interface and one provision (can
be the same interface). Primary interface gives host a name so even
unamanaged host have primary interface (we skip validations of other
attributes for unamanged hosts though).

Host still have name attribute which is a cache of primary interface name.
Therefore we can use the host name in SQL queries, as a friendly_id etc.
Refs #7456 - UI changes for extraction

- realm moved to the primary tab
- fqdn in nics table
- flags in nics table
- checkboxes for provision and primary flags
- modal resize fix
- original fields for primary NIC removed
- skipping validation for new resources
- warnings before switching flags and table update
- host name and primary interface name connected
- host domain name in the page title
- nics on host show page
- clearing modal window on cancel
- fixed domain validation in NIC::Base
- ip suggestion for all interfaces
- flags switchable from the overview table
- use icons instead of text for primary/provision on NICs overview tab
- attempt to fix sending NIC template
- fix fqdn algorithm
- ip addres in the overview table
- fix for class name collision
- better behavior of host name <-> primary name sync
- fix for subnet combobox values
- fix for modal poping up on form submission
Refs #7456 - Connect Nic objects with VM nics in compute_attrs
Refs #7456 - Fix rubocop warnings and add more tests