new instruction: upsertOneOp
Breaking change: the __dunder notation for mongo operations is a source of
confusion, and isn't necessary as mongo only rejects documents with $keys when
they're at the document top level, which these never are as they're nested
within the transaction.
Another breaking change: the committed.transaction helper now takes an
additionalFields object in place of the username string, this is more
flexible, one can add whatever metadata one needs to the transaction, so
username, rest route name, etc. facade this function if you want to enforce a
convention within your own app
simple check to raise an error when one creates an instruction containing a
key other than 'name' or 'arguments', helps spot typos
feature: if a regex is supplied in config.queueNameRegex given at
committted.start then this will be used to check the queue name of each
transaction, this prevents typos
bump to 1.0.0: major version change due to breaking changes