Fix gh-14: compress all the things

In addition to updating the output, this lets us utilize arbitrary compression functions (and any number of them, to boot) and totally guts the unit tests.

```
   raw     gz Sizes                                                             
 10367   3197 tasks/compare-size.js                                             
 25862   4439 test/compare-size.js                                              

   raw     gz Compared to last run                                              
 +2372      ? tasks/compare-size.js                                             
 +4502   +877 test/compare-size.js                                              
```

I've been in the trees for a while, so I'd like someone to survey the forest and make sure this is the way to go.