fixes #8056 - replaces . (dot) in params with - (hyphen)
refs #746 - fix string interpolation ordering
Fixes #8009 - Make sure the final version of helpers is in the controller
ref #8056 - Unit tests for to_param
fixes #7975 - Subnet names should be unique
fixes #8133 - update audit diff view to match changes in cafa947
Fixes #3260- Allows puppet to manage value of smart class parameter that can be overrided
fixes #7982 - Parameterize Operatingsystem.title to avoid non-alphanumeric characters in title (and friendly_id)
refs #3260 - extract string, fix inconsistent capitalisation
fixes #4463 - use unattended URL for hostgroup provisioning
refs #3260 - add label for default value tickbox to match overrides
fixes #7586, #7734, #7172 - user preferences for receiving mail notifications

Adds a framework for user-selectable mail notifications.  The work is
still done in ActionMailer classes and launch by rake in cron, however a
wrapper called MailNotification is used to provide RBAC and make the
association with users.

Plugins may seed their own mail notifications, see
db/seeds.d/16-mail-notifications.rb for an example.

Authors:
  Shlomi Zadok <szadok@redhat.com>
  Stephen Benjamin <stephen@redhat.com>
Fixes #8091: connect-src accepts WSS
Fixes #7954 - When creating a host cant is spelled wrong under partition table side note
refs #746 - hosts stylesheet is part of app.css, not standalone
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.