Done. I kept the code in `with_operations` and made `__add__` delegate to this since it doesn't re-index the existing operations and so will be more efficient in the case of adding a small additional number of operations into a large moment. Also kept the special behavior of `__add__` of delegating to `Circuit.__radd__` when adding to a circuit, which we don't want for `with_operations`.