Subtitles rework

Now the subtitles field in the info dict is just a dictionary with the keys being the language and the values, the subtitles. If the subtitles are not found/are not available for that language it should be set to `{}`.
The error handling logic has been simplified, now each function reports a warning and return None or `{}` if it can't do his work.
The code needed for saving the subtitles have been reduced to a single loop that iterates over the subtitles dictionary.

I think these changes simplify adding subtitles extraction to other IEs (I'm planning to do it for TED).

Note: the test fail quite often, because it gets a lot of 404 errors from youtube.