Track changes with options

Forgot to put a pull request message. Just for the record, this adds the user option `--track-changes=accept|reject|all` with the following behavior:

  - `accept`  (the default) will put in the insertions, and silently ignore the deletions.
  
  - `reject` will do the opposite, keep the deletions, and silently ignore the insertions.
  
  - `all` will leave everything in, for the purposes of scripting. Insertions and deleltions will be wrapped in spans, giving information about the changes.

Tests and a README entry are included in the patchset.