Fix `ve.dm.Transaction.newFromReplacement` when `removeMetadata` is true

The `newFromReplacement` call was inadvertently ignoring its
`removeMetadata` argument, because the optimizations in `pushReplace`
were combining a remove and insert and throwing away the `removeMetadata`
flag in the process.

Change-Id: I4f1ae7982b06200ecde62101dc2558fc02c6e8d4
Merge "Fix `ve.dm.Transaction.newFromReplacement` when `removeMetadata` is true"