Refactored TVScan to handle scanning of tv show and season directories and contents.
EpisodeMatcher is now EpisodeFileMatcher which handles matching an episode from a file/list of files.
TVMacher handles the logic for matching season/episodes/ranges to file lists for use with EpisodeMatcher
EpisodeMode is now an abstract class.
Last season/episode matches are now implemented with EpisodeMatcher so it can take advantage of multi-episode handling.
Trakt now supports marking multi-episodes as seen. (If using checkins, the first episode in the file is checked in, and the rest marked seen).
Improved NavigableEpisode navigation matching.
Reduced the amount of string values being passed around for episode/season numbers.
Enforced sorting of season and episode matches as filesystem order cannot be relied upon.