Add a #update action to RestfulModel

* Models now include #update
* RestfulModel#save! uses #update if the object has been persisted
* Add a shared example for updateable models
* Add an update action to ResourceGateway
Use backports

* OpenStruct didn't get #to_h until Ruby 2.0.0, so Namely wasn't
  compatible with Ruby 1.9.3
* "backports" adds OpenStruct#to_h, so everything's great again
Generalize tests for update action
Extract private method for updating models
Document required_keys_for_update superclass method