Indexer searching for special episodes using query string

Added SpecialEpisodeSearchCriteria criteria to handle special episode search queries
Added method NzbSearchService.SearchSpecial() for season0 episodes
Added IIndexer GetSearchUrls() for doing text based queries
Special Episode parsing support in ParsingService

Added ParsingService.ParseSpecialEpisodeTitle
Added SeriesService.FindByNameInexact
Added EpisodeService.FindSpecialEpisodeByName
Added IsPossibleSpecialEpisode method to parse info
DownloadDecisionMaker will try to find special episodes if a parse fails or is a possible special episode
Fixes in response to code review
ParseSpecialEpisode now follows similar pattern to Map() method and accepts TvRageId and SearchCriteria
Fixed normalize episode title to handle punctuation separately from spaces and removed special episode words
Removed comments
Fixes for code review
Replaced + with space in special episode query string builder
Added MinSize check and revised tests.
cleaned up tests and names
Couple XBMC Metadata fixes

Fixed: Actor URL for XBMC Metadata
Fixed: Incorrectly storing season images for XBMC metadata
(cherry picked from commit 5b2c3b88c0fdf002bb46a45e85c2f5066cc84877)
Download clients now use thingy provider
Validation, settings UI cleanup and different settings models, oh my

New: Download client UI matches other settings
Fixed: Prevent drone factory folder from being set to invalid paths/root path for series
Fixed: Switching pages in settings will not hide changes
Fixed: Test download clients
Fixed: Settings are validated before saving
Fixed root folder integration test
Reordered migrations after rebase
Fixed a copy pasta error for SAB history
Fixed: Do not set display season/episode for XBMC metadata
Fixed: Getting root folders with invalid paths
More xbmc metadata improvements

New: Create/update episode metadata when series is refreshed
Fixed: Episode Metadata when screenshot is not available
Fixed: Episode metadata being stored in database incorrectly
Fixed: Do not create metadata when series folder does not exist
Fixed XBMC notification logo
Changed how running a process and waiting for exit is handled
Failed download handling won't error when download client hasn't been configured
Fixed: Multi episode naming example