Add an #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`
I'm not completely clear on what these keys are for: are they used for identifying the record, or does an update just fail without them?

Given that this is an instance of the template method pattern, should the superclass method have some documentation, even though it's private?