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.
Merge branch 'master' of github.com:rackerlabs/ironic-teeth-driver into JoshNang/passthru
Using node objects, py26 fixes