Remove unecessary node updates in driver

Today, the driver updates provision_state and target_provision_state
unnecessarily in a few places. Ironic itself will do this before and
after calling various driver methods. This change updates the driver
to perform less unnecessary updates to the node.
Merge pull request #12 from rackerlabs/remove_duplicate_state_updates

Remove unecessary node updates in driver.