Collect AWS CloudFormation stacks and templates at refresh
Add ClassCheck preference and disable StringLiteralsInInterpolation cops

[skip ci]
remove miq_region_id column from database backups table

The region id should be encoded in the primary key, so we shouldn't need
a special column
Simplify backup naming by leveraging my_region_number and removing caching.

Update/clarify specs to reflect new behavior.
A region is the database so it's never destroyed.

DatabaseBackup rows are also not replicated so there's no issue with having them in a multiple region database.
explicitly cast column types when migrating

PG doesn't support implicit casting anymore because it could incur data
loss.  This explicitly casts data types using the API in upstream Rails.

This depends on manageiq/rails#15
Bump to rails fork containing support for casting.

connection.change_column :strings, :somedate, :timestamp, cast_as: :timestamp
connection.change_column :strings, :somedate, :timestamp, using: 'CAST("somedate" AS timestamp)'
remove `virtual_columns=`

this reduces the surface area of the virtual colums api, and will make
it easier to port to Rails 4
remove `virtual_reflections=`

We are not using this method in the application, and removing it will
ease porting virtual columns and reflections to Rails 4
Refactoring EMS refreshers' core logic into mixin

There is a lot of logic copied between the EMS Refreshers.  This removes a lot
fo code and logic duplication.

Caveats:

1. The VC Refresher is quite a bit different from the other refreshers, so it
   was largely left as is.
2. The NonEmsRefresher wasn't touched, since it's not an EMS refresher

Skipping CI for this rebase because the only update was a comment
[skip ci]
Merge pull request #1156 from tenderlove/explicit_cast

explicitly cast column types when migrating
Merge pull request #1194 from Fryguy/update_rubocop_warning_list

Add ClassCheck preference and disable StringLiteralsInInterpolation cops
Merge pull request #1174 from tenderlove/virtual_assignments

Remove virtual assignment methods
SCVMM: Virtual DVD drive support fix

https://bugzilla.redhat.com/show_bug.cgi?id=1166861
fixed misspelled button class
Issue: 1189
Merge pull request #1208 from bronaghs/scvmm_virtualdvd_fixes

SCVMM: Virtual DVD drive support fixes
Merge pull request #1209 from epwinchell/button_fix

fixed misspelled button class
We need to re-add the index for the foreign key id in the down.

To be symmetric, we should drop the index before we drop the column.
Merge pull request #919 from bzwei/refresh_aws_cloudformation

Refresh aws cloudformation
Merge pull request #1196 from tenderlove/miq_region

remove miq_region_id column from database backups table