Fix promise chain for Model.save()
The promise chain in Model.save() is currently calling Model._put() at the end of the chain even if the previous call to Model._put() was successful.
This fixes it so that it's only called once (setting this.rev only if the item was found in the database), and still throws an error if trying to create a non-unique item.