Mediainfo support

Adding MediaInfo for each EpisodeFile.
For a normal download Import the mediaInfo is retrieved during the import. But for existing files it's delayed and handled later on, hopefully async enough.

I rewrote a major part of the FileNameBuilder logic to give the token replacement code a bit more flexibility.
I still don't like how the multi-episode numbering logic is handled, but it will do for now.

Obviously I also added MediaInfo as naming token:
- Series.Title (unchanged)
- Series.CleanTitle (removes : . ( ) from the title)
- MediaInfo.Video (video codec only)
- MediaInfo.Audio (audio codec only)
- MediaInfo.Simple (video+audio codec, a-la scene)
- MediaInfo.Full (my own concoction that includes audio & subtitle languages)

@markus101, I don't think it's finished yet, but I would like your opinion. Please note that hereby migration 56 is reserved :)
Agreed, there is zero reason to complicate it and not have it (it doesn't hurt anyone having it).

At that speed, I'd just do it, even the largest shows on disk are probably a couple hundred episodes at most, so we slow the import down by a few seconds, but its not going to be that bad.

I think the async bit came from someone else (because I recall them saying making it optional and/or not done for existing). They *sounded* like they knew it would impact it, but 100ms per episode isn't enough to write home about.

I'd say lets do it early on in the import process (during parse/just after) so we can use it for the quality check (resolution), since that fixes .mkv always being handled as HDTV 720p and .mp4 as SDTV (when they could be other resolutions). We'd want this for both new and existing imports I'd think.