Move manifest parsing tests into their own test file.
Use handelbars to make templates for the manifest files.  Add tests for media_sequence, playlist_type, and target_duration.
Add travisci hook. Fix some jshint issues.
Fixup .travis.yml file.
use npm version of media-sources
install the grunt client as part of travisCI flow
Initial tests for allow_cache, extinf, mediasequence, and byterange.
Add m3u8.pegjs.
Generate the parser file via 'npm run peg'.
There is a simple test script in test/pegtest.js.
The test can be run via 'npm run testpeg' which will generate a new copy
of the parser and then run the test file.
no need for enumeratedString rule
Add whitespace between byteRange & file for extinf
enumerate media types
Change output format for extinf.
Now, it'll use peg's line and column tracking. So, each extinf would
output an object with property #EXTINF + line number.
Add comment support. Rename tags to tag.
handle optional extinf title properly
fix fractions
Handle optional extinf desc properly
Make comments, segments, and renditions arrays.
Comments, EXTINF tags, and EXT-STREAM-INF tags get turned into an array
in the outputted format.
Make output object more inline with current object
Rename mediaFile to mediaURL in segment and rendition
Rename byteRange into byterange and default it to -1 in segment
Rename duration to targetDuration in segment
Add PROGRAM-ID to stream-inf attributes
ignore vim swp files