Video info scanner refactoring

This is an attempt at untangling this spaghetti. Scanning movie folders vs tv folders hardly have anything in common at this point, making it impossible to follow. Please see individual commits for step-by-step.

If I have done this correctly, there should be no bug fixes or behavior changes in these commits.