<Admin::Stats> refactor classes and tests

- refactor admin_stats_test into reusable test helper
- override mcollective timeout just for duration of query
- add gear_active_pct stat at all levels
- Admin::Stats.results returns hash subclasses with reader methods.

In order to more easily identify typos and what the hashes returned by
Admin::Stats actually represent, they are now subclasses of Hash with
methods for each key. Readers for missing keys throw an error.

So as not to force consumers of YAML/XML data to know about these
subclasses, they're converted to normal hashes by default when dumped.

Sadly, there doesn't seem to be an obvious way to have Hash subclasses
display differently when pretty-printed.
<oo-stats> ability to read results from file; more

Can read results data from a json or yaml without loading broker
HashWithReaders broken out into library class
District text table made more friendly to ops
Table headers shortened
Numbers formatted nicely