fixes bug 893899 - JS TypeError on TopCrashers

@rhelmer r?

There are some significant changes here. Notably...

* If the mware returns NULL (happens if you request for a product/version combo that doesn't exist as a .txt (or .txt.gz) file) it instead feeds the javascript an empty iterator.
* Upon loading the page it now only does 3 `$.getJSON` requests. One for each type. It then stores a unique list of ALL signatures available (from the mware), then when it does `$('.signature').each(...` it just needs to see if that signature is in the big list of all signatures or not. This determines if the "Show More" link should appear. 
* List of platforms to the mware needs to be delimited with a `+`
* The structure of topcrash.js is greatly refactored so that every thing correlations related it in one neat closure.
* The Correlation and Bugzilla IDs columns are now *not* sortable column headers.
* jshint is happy now. 

I suggest; instead of reviewing it line by line, fetch it down and play with it with your own data.