Don't allow dupes in listboxes.

Unfortunately this required changing quite a bit of BackupPage, and made
it a little more complicated, but also more accurate. Previously, items
in the ListBoxes were strings rather than ListBoxItems. When I added the
functionality to show/hide unsupported programs, these had to be
ListBoxItems because I wanted to be able to disable them. Then we had a
mix of ListBoxItem and string.

I standardized on strings, and this required more code because I
couldn't simply reference items[i] anymore, but rather the content
property of that item. A little more complicated, but it makes more
sense now too.

Of course, this same logic will need applied to RestorePage at a later
date.