Added option for not writing tags to file, when tags in db are not modified when running beet modify
Synchronize with upstream beets modifications.
Removed dont_write_if_unchanged config option: now files tags are never updated unless db tags are changed (with beet modify)
Removed duplicated code: modified showdiff() so it uses also different()
avoid repeating diff check, use changed set (#511)

This way, _showdiff returns the information that _different used to provide
(since _showdiff needs to calculate it anyway). Using a `changed` set also
makes it easier to avoid unnecessary work.
changelog/thanks for #511
docs: fix reference to Transaction