Split FileDownloader in two classes: FileDownloader and YoutubeDL

YoutubeDL is the class that coordinates everything
FileDownloader gets a filename and an info dict and downloads the video.
Use the new class in the tests
Merge remote-tracking branch 'jaimeMF/youtubedl_class'