add: use lexists so that broken symbolic links are added
This restores the add behavior prior to
d8cdd46f426d and matches the
behavior of addremove.
diff: explicitly honor all diffopts
'hg diff' should naturally honor all diffopts.
annotate: explicitly only honor whitespace diffopts
The whitespace ones are the only ones the annotate logic cares about anyway, so
there's no visible impact.
notify: explicitly honor all diffopts
The notify output doesn't seem to be parseable anyway, what with the maxdiff
config option. Plus it is designed mainly for servers where hopefully the
admins are doing sensible things.
jsonchangeset: don't honor whitespace and format-changing diffopts
JSON is meant to be parsed by computers, and format changes can break them.