catch indexeddb exceptions in PUT (e.g. DataCloneError) and reject the promise instead of throwing us out of context
built