Smart YouTubeSubtitleFile with lookup by alpha2
Smart YouTubeSubtitleFile with lookup by alpha2

Context:
  - The ricecooker File base class handles the language initialization (set_language)
  - File.__init__ expects to be given the parameter `language` which is the language_id (a string)

Youtube issue:
  - Sometimes the language code (string) used by youtube API differs from our internal repr.
    e.g. Zulu.youtube_language == 'zu'   but internal representationis 'zul'

This PR is an evolution of the "smart subtitle" functionality implemented by David Hu.
If  you specify `language`='zu' when creating a YouTubeSubtitleFile,
instead of failing because it can't find 'zu' in the internal repr.,
we save the two letter code as `self.youtube_language` and use the
alpha2 lookup to find language name "Zulu" then set self.language
to the internal repr. code of the language with the same name.

jayoshih/ricecooker,jayoshih/ricecooker,learningequality/ricecooker,learningequality/ricecooker,learningequality/ricecooker,learningequality/ricecooker