Properly propagate errors that occur during preparation.
Fix https://github.com/google/ExoPlayer/issues/159.

The actual fix here is to not call discardExtractors in HlsSampleSource
whilst the loading thread that's pushing data into it is still running.
It's required to wait for that thread to have exited before doing this.

Issue: #159