Refactor common loader code into XHRLoader
Created by: davemevans
Fixes #1048 (closed), at least the refactor part of it. All of the common code is contained in XHRLoader, with the previous loaders calling this, leaving just the unique code in these.
Extended MediaPlayerModel to allow different number of retries and intervals per resource type, although these are not actually used anywhere right now.
I haven't attempted to abstract anything too much in order to enable alternative transports, although this shouldn't be too tricky.
Note that diff'ing (Fragment|Xlink|Manifest)Loader isn't that helpful since they have changed radically.