Refactor collectors

- Move formatters into its own submodule
- Simplify what a Collector is
- Disambiguate between collector, reader
- Rewrite the uptime collector example