Remove duplicates from library root

Closes #708
Reminds me that we haven't had a way to prioritize what backend's results ends up on top since we added extension support more than a year ago.

I guess the order is quite undefined and random, but it would be nice if was stable. What about:

``` python
return sorted(list(set(b.library.root_directory.get() for b in backends)))
```