Fix bad assertion. It doesn't hold for TTML subtitle chunks.
1. Parse live attributes from SmoothStreaming manifest.

2. Common interface for manifest parsers.
- This effectively moves the common interface from the Fetcher level
  (i.e. ManifestFetcher) to the Parser level (i.e. ManifestParser).
- The motivation here is to allow the implementation of components that
  can work with a generic ManifestParser implementation.
Relax MediaCodecVideoTrackRenderer.canReconfigureCodec().

Allow non-H264 adaptive decoders.
Prevent device provisioning when another device provisioning request is already under process.
Support negative media timestamps (if people *really* want to send us them!).
Transition ExoPlayer to use longs for ms timestamps.
Add SubtitleView and CaptionStyleCompat to ExoPlayer.
Support anamorphic video content.