expose dowloadFromInfo and drop some dependencies

This pull request:

 * retains backward compatibility
 * removes request caching. Instead you are supposed to use `getInfo` followed by `downloadFromInfo`.
 * drops dependency on eventvat
 * drops dependency on streamify, uses built-in `PassThrough` stream instead.

All tests pass.
My personal use case is that I call `getInfo` to find out what formats are available, then pick the one with the highest quality / best audio codec, and then I want to download the video based on that info.

If we exported a different function with a stream based interface that would be totally fine with me. The reason I default to not doing it is that we already have a stream - the video download. This is the most straightforward thing: just return the stream to the user who can then pipe it to whatever they want. If we want the function itself to return a string then we have to make a `PassThrough` stream and pipe the real stream through it. It's fine, it works, it solves the problem, but it seems rather roundabout to me.

Either way, I'm already satisfied because my main goals - getting rid of those dependencies - is already fulfilled.