Major Refactor reduces complication, increases dependability and solve critical bugs.
Created by: dsparacio
This is a big change that just all keep creeping due to the original task; which was to solve issue #1365 (closed) and remove the Virtual Buffer. This task is complete!
That lead to multi-track changes since multi-track depended on VB. This lead to a refactor of buffer controller and schedule controller. But.....
While doing this @spiterikevin noticed duplicate loading in certain cases so I set out to fix that as well. This changed solved the duplicate issue and should solve https://github.com/Dash-Industry-Forum/dash.js/issues/1205 as well!!
Then issue https://github.com/Dash-Industry-Forum/dash.js/issues/1514 was reported and this solution for this fit into the current work for fragmentModel and multitrack... so It is also fixed and part of this PR.
Some of the line changes are really just es6 conversion. E.g use of const to improve readability and efficiency.
I have tested this code and reviewed it extensively.! Please review if you have time!