mbsync: use SingletonQuery for item updates
mbsync: docs/changelog

As discussed on #115, this has the "reimport" docs refer to the mbsync plugin.
mbsync: split album/item functions; shorter txns

The main change here is to use shorter transactions -- one per matching entity
-- rather than one large one. This avoids very long transactions when the
network happens to move slowly.
mbsync: use ID lookups instead of full match logic

This change uses _album_for_id and _track_for_id instead of the full
autotag.match.* functions. This should be faster (requiring fewer calls to the
MusicBrainz API) while also being more predictable. It also won't, for
example, use acoustic fingerprinting even if the chroma plugin is installed.

Finally, this change catches the error case in which MBIDs are erroneous. This
can happen, for example, if the user has some track MBIDs left over from
before the NGS transition.
mbsync: don't write tags if import.write is off

This will avoid surprising users with import.write turned off.
mbsync: avoid spurious stores/moves

As _print_and_apply_changes itself does for items, we now shortcut
modifications (metadata and filesystem) for albums when no changes are
required for a given album. This avoids effectively doing a "beet move" on an
album even when nothing has changed.