Add pushgateway support to the simpleclient.

Refactor production of the text format into a separate module.
super sweet tests man!