Fix several JS problems with MSIE/Mac:
* Use of Array.push() broke things, as it's not missing. Work around with a[a.length] = foo
-- shift-checkbox selection and sortable table setup were causing JS errors on every page view
* Use of 'if (x in arr)' breaks *parsing* in MSIE/Mac. :P Work around work 'for (y in arr) if (x == y)'
-- broke upload.js, so the license selector hackaround didn't get run
* Upload AJAX calls weren't checking for client compatibility before doing things
-- littered spinners on the page