YoutubeIE: reuse instances of InfoExtractors (closes #998)

When a IE is added to the list, it's also added to a dictionary. When a IE is requested it first looks in the dictionary and if there's no instance it will create a new one.

That way _real_initialize is only called once for each IE, saving time if it needs to login for example.
Save subtitles using the same code for all the options
Use a dictionary for storing the subtitles

The errors while getting the subtitles are reported as warnings, if no subtitles are found return and empty dict.
YoutubeIE: use the same function for getting the subtitles for the "--write-sub" and "--all-sub" options
YoutubeIE: don't crash when trying to get automatic captions if the videos has standard subtitles.
Don't try to write the subtitles if it's None
Merge remote-tracking branch 'upstream/master'
fix bug: kankan extractor not support http://vod.kankan.com/v/70/70309.shtml
add an extractor for tv.sohu.com
use ..utils/clean_html()
Add an extractor for videofy.me (closes #1171)

Also modify find_xpath_attr to accept values with spaces like for id="HQ on"
Add an extractor from muzu.tv (closes #1177)
[collegehumor] support urls in the format www.collegehumor.com/e/{video_id} (fixes #1179)
Add some verbosity when reporting finished downloads

For example:

    [download] Resuming download at byte 1868140
    [download] Destination: Entry #1-Bn59FJ4HrmU.flv
    [download] 100% of 3.27MiB in 4s

This format is meant to somewhat mirror the behavior of wget(1) when reporting finished downloads:

    100%[==================>] 54,836,682   788KB/s   in 74s

    2013-08-04 12:32:05 (728 KB/s) - 'google-chrome-stable_current_x86_64.rpm' saved [54836682/54836682]
fix parse title bug
changes
improve sohu extractor
More informative error
Updated the 84 length signature decryption

Updated the right 84 length signature decryption 06.08.2013
Encrypted sig 87 broken again (fixes #1200)