If meta is null, don't try to parse it
Connect to stream if preroll returns an error
Be a more lenient with the preroll URL
Add timeout abort for preroll
Clear the preroll timeout if the request finishes
Merge pull request #15 from bricker/preroll-updates

Preroll updates
Merge remote-tracking branch 'origin/master' into ImplementTests
Implement FileSource for looping broadcast of a local file

* Master.Stream: Run `opts.fallback` through a URL parse.  If protocol is
  HTTP, pass to `ProxyRoom`.  If protocol is file, pass to the `File` source.
* Remove trailing whitespace in Master.Stream
Add basic test for File Source

* Test whether we get the right streamKey
* Test whether data is emitted
Start to implement tests for Master.Stream

* Test connecting two file sources, and switching on disconnect
* FileSource: Add disconnect logic