Improvements to asset-check

* Implement --debug:
   phantomjs has its own debug parameter used like this:
   $ phantomjs --debug true asset-check.js 'http://en.wikipedia.org/?mainpage'
   But that one isn't exposed to JS, so we need our own.
* Use "response.stage" property to filter out duplicates:
   Document the fact that the 'onResourceReceived' event is fired
   multiple times for reach resource with different 'stage' values
   to indicate its current state.
   Use this value instead of duck-typing via res.bodySize (which
   can be unrealiable, mostly in case of dataURIs, though we filter
   those out already).
* Use content-length header when response.bodySize is missing
   As of writing, when using phantomjs v1.9.7 and running asset-check.js
   on en.wikipedia.org Main Page, none of the requests passed through the
   onResourceReceived event have bodySize (payload.combined.bytes === 0).
   Use content-length as fallback and work-around to at least have a
   little more data to work with for our trend graphs.
* Track POST requests, redirects, http4xx, and http5xx
* Track whether requests are compressed with gzip
* Track uncaught exceptions in javascript
   Any uncaught exceptions thrown on when viewing the Main Page as
   an anonymous user.
* Track number of registered modules and their state

Change-Id: If1fd7eea2e525a23835a985a86596c7c0361768b