Resolve different uses of vm state in VmOrTemplate

* introduce a before_save trigger to update the previous_state and
  state_changed_on properties when raw_power_state is changed
* prefer setting raw_power_state over state=
* update state= to set raw_power_state
* alias current_state to state instead of having a separate method definition

https://bugzilla.redhat.com/show_bug.cgi?id=1115546
https://bugzilla.redhat.com/show_bug.cgi?id=1115557
Update VM power ops

* openstack should select correct way to start a non-running instance based on
  raw_power_stateS
* when temporarily updating power_state after performing a power op, set the
  raw_power_state to a raw value

https://bugzilla.redhat.com/show_bug.cgi?id=1115546
https://bugzilla.redhat.com/show_bug.cgi?id=1115557
Update automate methods with power_state

Avoid dereferencing the automate service object's attributes hash to get to
power_state (which only inspects the model's DB columns).  Instead, call the
method directly to get the power_state.
Specs:  Use raw value for VM state

* update the shared specs for VmOrTemplate#is_available? by introducing variables
  to capture the raw_power_state for each provider
* update the provider specs that include the VmOrTemplate#is_available? shared
  specs by adding the spec variables
* various updates to use provider raw VM state values

https://bugzilla.redhat.com/show_bug.cgi?id=1115546
https://bugzilla.redhat.com/show_bug.cgi?id=1115557
Specs: Use Red Hat VM in Red Hat spec

Update the VmRedhat spec to use a Red Hat vm instead of a Vmware VM.

https://bugzilla.redhat.com/show_bug.cgi?id=1115546
https://bugzilla.redhat.com/show_bug.cgi?id=1115557
Specs: some power ops are unavailable for VmRedhat

Update the VmRedhatSpec to identify some power ops as unavailable to match the
implementation of VmRedhat.

https://bugzilla.redhat.com/show_bug.cgi?id=1115546
https://bugzilla.redhat.com/show_bug.cgi?id=1115557
Specs: set raw_power_state instead of power_state or state

Now that power_state is a calculated property instead of database field, specs
should update the raw_power_state field instead of attempting to edit the
read-only property.

https://bugzilla.redhat.com/show_bug.cgi?id=1115546
https://bugzilla.redhat.com/show_bug.cgi?id=1115557
Specs: Update automate tests with power_state

Avoid dereferencing the automate service object's attributes hash to get to
power_state (which only inspects the model's DB columns).  Instead, call the
method directly to get the power_state.
Rubocops

* EmsRefresh::Parsers::Openstack: favor parentheses for percent literal delimiter
* EmsRefresh::Parsers::Rhevm: clean up hash rockets and delete some commented lines
* VmOpenstack::Operations::Power: remove redundant self
* VmOrTemplate: remove redundant self
* VM specs: ParenthesesAsGroupedExpression
* ExtManagementSystem specs: remove semi colons