[TV] Searcher cleanup and matcher updates

Note, ShowProvider is required by the TV info providers, so that's why it was left in.

We could possibly split the searcher a similar way, but figured I would see what others think of this before jumping into doing this, I would probably roll this into the TV searcher cleanup I'm currently working on if we decide to do this.

@RuudBurger

**EDIT**
Pushed searcher cleanup commits into here as well, these optimize the searcher to remove excessive database calls and moves some functionality out of the searcher that isn't really searcher related.

I'm not sure if there is another way to handle the addition of 'related_libraries' and 'root_library' to the library serialization, let me know if you have any other ideas.