mbsync: Double output
Recently the `mbsync` plugin has started to produce double output.
 ```
$ beet mbsync -p black sabbath vol 4
Black Sabbath - Vol 4 - Wheels of Confusion
  script:  -> Latn
  language:  -> eng
  script:  -> Latn
  language:  -> eng

...snip...

Black Sabbath - Vol 4 - Under the Sun
  script:  -> Latn
  language:  -> eng
  script:  -> Latn
  language:  -> eng
```

A quick `git bisect` reveals this was introduced in 72515448ad505ef0b73c0d0aa4aa424419b55755.

It looks like this could just be a cosmetic issue but I haven't had time to dive into the new code from #2988 to confirm yet.
diff --git a/beets/library.py b/beets/library.py
index 3ba79d069..00cf00c79 100644
--- a/beets/library.py
+++ b/beets/library.py
@@ -623,7 +623,9 @@ class Item(LibModel):
         """
         keys = super(Item, self).keys(computed=computed)
         if with_album and self._cached_album:
-            keys += self._cached_album.keys(computed=computed)
+            keys = set(keys)
+            keys.update(self._cached_album.keys(computed=computed))
+            keys = list(keys)
         return keys
 
     def get(self, key, default=None, with_album=True):
['beets/library.py']