Add automatic compression of the dead-letter office

Prior to this, there was no self-management of the DLO. If messages went into it, they were never removed or dealt with unless by the user. This meant that a user with a lot of failures, who didn't know about the DLO, could have their storage eaten up the messages (which were effectively useless, since they didn't know about them). Now the DLO will be periodically compressed (per the `dlo-compression-threshold` setting). Any messages older than the threshold will be compressed into a .tgz file. This runs on startup and periodically according to the `gc-interval`, but will only produce one .tgz file per threshold period. Any other messages will have their compression deferred until the next period begins.

This also adds global and command-specific metrics for the DLO, including number of messages, number of archives, space usage on disk, number of failures, and compression time. Overall values for compression time, space usage, and number of messages are exposed via the Dashboard:

![dlo_dashboard](https://f.cloud.github.com/assets/115494/301001/64b5261c-95b6-11e2-8b6b-73924fe4af91.png)