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 :)
Damn, another case I'll have to handle if this merges before relative episode file paths.

This is a bit of a weird case though, if its a new import and the file is hashed its going to result in h264 because x264 won't exist. If its an existing file it likely won't have this info in the filename and will be h264 again.