Add VM raw_power_state

* Add migration to add VM raw_power_state

https://bugzilla.redhat.com/show_bug.cgi?id=1115546
https://bugzilla.redhat.com/show_bug.cgi?id=1115557
Calculate power_state from raw_power_state

Add logic to calculate a VM's power_state from the raw_power_state.  This helps
keep the power_state in sync with the raw_power_state.

Also

* prefer setting raw_power_state over state=
* update state= to set raw_power_state
* privatize power_state= to prevent unwanted calls
* 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 EMS Refresh to set raw_power_state

EMS Refresh now sets VM raw_power_state instead of power_state or state.

This allows the raw_power_state= logic to correctly set the corresponding
poewr_state value.  This way, the power_state and raw_power_state are kept in
sync during EMS Refresh.

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
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: 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.

https://bugzilla.redhat.com/show_bug.cgi?id=1115546
https://bugzilla.redhat.com/show_bug.cgi?id=1115557
Specs: small updates to Rhevm ems_refresh specs

ensure both raw_power_state and power_state are correct after refresh.

https://bugzilla.redhat.com/show_bug.cgi?id=1115546
https://bugzilla.redhat.com/show_bug.cgi?id=1115557
Rubocop / Whitespace

Align hashes and remove some commented code lines.

https://bugzilla.redhat.com/show_bug.cgi?id=1115546
https://bugzilla.redhat.com/show_bug.cgi?id=1115557
Move calculcate_power_state to vmware_shared

TemplateVmware and VmVmware share the same logic for calculating the power_state
from the raw_power_state.

Moving this code to VmwareShared so that both classes share the same method definition.

https://bugzilla.redhat.com/show_bug.cgi?id=1115546
https://bugzilla.redhat.com/show_bug.cgi?id=1115557
Specs:  Clean up uses of state=

Remove straggling uses of state= where the value has already been replaced by
the raw_power_state value.

https://bugzilla.redhat.com/show_bug.cgi?id=1115546
https://bugzilla.redhat.com/show_bug.cgi?id=1115557
Remove VmOrTemplate#state=

The VmOrTemplate#state= became really confusing after adding in raw_power_state=
because VmOrTemplate#state= set raw_power_state, but VmOrTemplate#state returned
power_state.

Removing state= makes the picture a little clearer.

https://bugzilla.redhat.com/show_bug.cgi?id=1115546
https://bugzilla.redhat.com/show_bug.cgi?id=1115557
EmsEvent should call raw_power_state when possible

EmsEvent#change_event_target_state called target.state=, however, in the case of
VmOrTemplate, this should now be target.raw_power_state= since VmOrTemplate
no longer responds to state=

https://bugzilla.redhat.com/show_bug.cgi?id=1115546
https://bugzilla.redhat.com/show_bug.cgi?id=1115557
Event handlers should use raw_power_state= for vms

Now that VmOrTemplate#state= has been removed, event handler definitions should
set the raw_power_state directly.

https://bugzilla.redhat.com/show_bug.cgi?id=1115546
https://bugzilla.redhat.com/show_bug.cgi?id=1115557
Simplify VmOrTemplate#state

Now that the power_state is calculated correctly for different types of Vms Or
Templates, the VmOrTemplate#state method can be a little simpler.

https://bugzilla.redhat.com/show_bug.cgi?id=1115546
https://bugzilla.redhat.com/show_bug.cgi?id=1115557
Specs: Automate specs should set raw_power_state=

Several automate specs were still setting VmOrTemplate#state= instead of
VmOrTemplate#raw_power_state=.

Now that VmOrTemplate#state= is removed, these tests need to be updated.

https://bugzilla.redhat.com/show_bug.cgi?id=1115546
https://bugzilla.redhat.com/show_bug.cgi?id=1115557
Merge pull request #481 from blomquisg/bz1115546-openstack-cannot-resume

Introduce VM raw_power_state to deal with various VM state issues