Add Save and SaveID

These use $set rather than upsetting the document in its entirety as
per Upsert and UpsertID
Change implementation of UnmarshalJSON

The previous one didn’t work!