Check if VM is already powered off before halting

Before this commit, rolling back a snapshot from a VM in a poweroff
state results in the below error:

Stderr: VBoxManage: error: Invalid machine state: PoweredOff (must be
Running, Paused or Stuck)

This commit adds a check to skip the halting step if the machine is
already off.
Replace execute call with vagrant read_state function

This is per a comment from jtopper. Using the provider's read_state
function is much cleaner than calling out to VBoxManage, since we
already have access to the state data.
Merge pull request #5 from supercow/avoid_halting_when_halted

Check if VM is already powered off before halting