return create/update promise when using save()

the save() method that was recently introduced is useful but it should return the promise given back from create()/update() so its just as useful as those.  Test for this written as well.