Expose more diagnostic info
Keep track of total content bytes received and make it accessible from outside the tech. Trigger an event whenever a new playlist is activated. For #93.
use regular for loops instead of for-in

for-in returns all enumerable properties on String, which fails for iteration
when people set enumerable properties on String (not that this is a good
idea). Using the normal for loop is probably faster, too.
Merge pull request #97 from gutworth/rm-for-in

use regular for loops instead of for-in
Merge pull request #96 from videojs/feature/metrics

Expose more diagnostic info
Don't blow up if the tech is disposed before player.ready(). For #88.
The HLS tech waits until `ready` before setting the source to be sure that Flash has time to finish loading. If a user changed the src and triggered a tech unload before that time, the ready handler would be invoked, throw an exception, and leave the tech in a transitionary state. Instead, double check that the object element is still alive before setting the src in the `ready` handler.
Merge pull request #99 from videojs/hotfix/tech-unloading

Don't blow up if the tech is disposed before player.ready(). For #88.
0.8.2
Fixes issue 102
Fixes issue 105
Merge pull request #110 from bparadie/fixes-105

Fixes issue 105
Merge pull request #108 from bparadie/fixes-102

Fixes issue 102
Make sure endOfStream is called
When the last segment in a playlist is appended, call endOfStream. There was an off-by-one error calculating when the final segment was delivered. Mock out endOfStream for test cases so exceptions aren't thrown. For #111. This commit stops the spinner from showing up when a video has finished but hitting play again to restart the video is not currently working.
Peg sinon to 1.10.2 to work around bug
1.10.3 has an issue with fake XHRs. Don't update until https://github.com/cjohansen/Sinon.JS/issues/511 is fixed.
Reset the media index to zero when the video is ended and play is called
Before the invoking the Flash tech's play(), check if the video has ended. If it has, reset the media index so that the video replays.
Fixed sinon errors in tests
Reorganized videojs-hls.js to make it a bit more readable and set it up for further simplification
Merge branch 'hotfix/stream-ended' of https://github.com/videojs/videojs-contrib-hls into reorg-w-114

close #114 closes #115

Conflicts:
	src/videojs-hls.js
Merge pull request #117 from heff/reorg-w-114

Reorg and endOfStream fix
Moved currentTime functions and broke up large fillBuffer function
add xhr.js to Gruntfile.js