Move the opener to the YoutubeDL object.

This is the first step towards being able to just import youtube_dl and start using it.
Apart from removing global state, this would fix problems like #1805.
Document proxy
Merge branch 'master' into opener-to-ydl
Merge branch 'opener-to-ydl'