Add fallback URL functionality

This change allows an array of URLs to be passed for a script, where if the first URL fails the loader will try the next, and so on, similar to the Require.js feature. I noticed that on the Basket.js homepage it says that only same-origin URIs are supported, but the XHR approach will work fine with modern browsers and most CDNs allow an Access-Control-Allow-Origin wildcard, so I think this adds value.