Use a GtkListBox instead of a GtkTreeView
The biggest reason to get rid of some of our `GtkTreeView`s (which are supported by `GcrCollectionModel`), as they're leading to bugs when scrolling or selecting items. The first element to accomplish this is a new object: `SeahorseItemList` `SeahorseItemList` is a wrapper to easily combine a `GtkListBox` and a `GcrCollectionModel`. In the long term, we probably want to get rid of the latter in favor of `GListModel`s everywhere, but this will also need changes (and the appropriate deprecations) in libgcr. Second, we create a `KeyManagerItemRow`, which represents a widget in the main window (the `KeyManager`), rather than using custom `GtkCellRenderer`s. Third, we rewrite the `SideBar` to also make use of an internal `GListStore`, combined with a `GcrUnionCollection` to keep the transition smaller. Note that this is one big commit, which I normally really dislike, but it was the only practical way, since a lot of the things were linked together in some unfathomable way, which meant that changing something could break the code somewhere completely else.