role delete: check for r/o role and role in a group in model

The following (existing) statement in MiqUserRole class:

    has_many :miq_groups, :dependent => :restrict

will prevent from deleting a role in a group, the 'before_destroy'
statement is to prevent a read only role from being deleted.

Therefore, there's no need to be checking for read only role
and a role in a group in the controller code.

https://bugzilla.redhat.com/show_bug.cgi?id=1126536
group delete: check for a r/o group and group used by users in a model

This fix is:
* to make sure during group removal, the check for a read-only group,
as well as a group still in use by user(s) is being made in the model,
rather than the controller.
* to simplify the (controller) code

https://bugzilla.redhat.com/show_bug.cgi?id=1126536
Added QueryCounter helper class for specs.
Snapshot creation disabled for Templates

Implemented the supports_snapshots? method

https://bugzilla.redhat.com/show_bug.cgi?id=1005285
Add upload_import_file and review_import actions to MiqAeToolsController
Add granular automate import functionality
Add modeling for template many-to-many tenant

In OpenStack, an image (TemplateOpenstack) can exist in more than one project
(CloudTenantOpenstack).  These migration and model changes allow an OpenStack
template to list the tenants it can be used in, and allows a Cloud Tenant to
list the templates associated with it.

The table is named "cloud_tenants_vms" to reflect the physical tables used in
for the join.

Despite the table name referring to the generic objects, the relationship is
purposefully restricted to Openstack templates and Openstack cloud tenants in
the association defined in the models.  This keeps the notion of the
many-to-many relationship restricted to the most specific level.

The relationship methods are named:

* TemplateOpenstack#cloud_tenants
* CloudTenantOpenstack#opentack_templates

Additionally, to facilitate keeping the relationship as specific as possible,
CloudTenant is now sublassed to CloudTenantOpenstack.  Since all of the existing
cloud tenants are only openstack tenants, the migration initializes all of the
CloudTenant records to have a type of CloudTenantOpenstack.
Support non-admin ems refresh users - OpenstackHandle

OpenStack handle changes required to support ems refresh
using non-admin credentials.
Support non-admin ems refresh users - openstack parser

Openstack parser changes required to support ems refresh
using non-admin credentials.
Support non-admin ems refresh users - test

Test changes required to support ems refresh
using non-admin credentials.
Updates based on code review comments.
Added new columns in the Services List

The following new columns were added to the Services List

- Total VMs
- Total CPUs
- Total Memory
- Total VM Disk Count
- Total VM Disk Space Allocated
- Total VM Disk Space Used
- Total VM Memory on Disk

https://bugzilla.redhat.com/show_bug.cgi?id=1115763
Reset flash_array when viewing screen off off vm summary screen.

Reset flash_array so flash message is not displayed when clicking on links such as Snapshots/Genealogy/Container/Operating System etc from summary screen after perfomring some actions like "Edit Tags".

https://bugzilla.redhat.com/show_bug.cgi?id=1146249
https://bugzilla.redhat.com/show_bug.cgi?id=1102658
Convert schedule_form partials to haml
Use localized product name in appliance console

https://bugzilla.redhat.com/show_bug.cgi?id=1045615
Add support for Openstack SSL

Allow connections to Openstack to use SSL.

https://bugzilla.redhat.com/show_bug.cgi?id=1089727
https://bugzilla.redhat.com/show_bug.cgi?id=1140693
Smarthost templates removed from host view

https://github.com/ManageIQ/manageiq/pull/710#issuecomment-56865714
Add rake task to replicate current backlog and exit when empty
do not load rspec task if no rspec available

On production appliances, rspec gem is not installed
This was causing an error like:

```
rake aborted!
NameError: uninitialized constant RSpec
/var/www/miq/vmdb/lib/tasks/spec_evm.rake:10:in block (2 levels) in <top (required)>'
/var/www/miq/vmdb/lib/tasks/spec_evm.rake:2:inblock in '
/var/www/miq/vmdb/lib/tasks/spec_evm.rake:1:in <top (required)>'
/var/www/miq/vmdb/Rakefile:8:in'
/var/www/miq/vmdb/script/rake:15:in <top (required)>'
/var/www/miq/vmdb/script/rails:6:inrequire'
/var/www/miq/vmdb/script/rails:6:in `'
(See full trace by running task with --trace)
```
set date_from for calendar during initial load of dialog.

Changed code to set date_from for calendar during initial load of dialog. Removed setting of miq_cal_dateFrom JS variables from dialog_runner that was being done after a field is changed in the form no need to do it there as value of show past dates cannot be changed once dialog is loaded.

https://bugzilla.redhat.com/show_bug.cgi?id=1052795