Update method for finding YouTube videoIds (#1888)
Update method for finding YouTube videoIds (#1888)

* plugins.youtube: update video ID extraction

* plugins.youtube: decode the error reason text correctly

* logging: handle unicode log message correctly

* tests for unicode logging

* plugins.youtube: redirect to canonical if no video ID found

* plugins.youtube: alternative videoID source for channels

* plugins.youtube: use the videoId from the URL if available

* plugins.youtube: fix encoding issue for Python 2/3

* plugins.youtube: log instead of self.logger

* plugins.youtube: revert canonical url lookup

back-to/streamlink,streamlink/streamlink,gravyboat/streamlink,beardypig/streamlink,bastimeyer/streamlink,melmorabity/streamlink,beardypig/streamlink,back-to/streamlink,chhe/streamlink,gravyboat/streamlink,chhe/streamlink,streamlink/streamlink,melmorabity/streamlink,wlerin/streamlink,bastimeyer/streamlink,wlerin/streamlink