<admin capacity> capacity management conf testing
<Admin::Stats> refactor classes and tests

- refactor admin_stats_test into reusable test helper
- override mcollective timeout just for duration of query
- 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.
work in progress
WIP - renamed, reworked suggestion class

automatically runs subclass checks, which now gets me three
suggestions for the same add-capacity request - need to refactor a bit
WIP - break checks out into Generator classes

tests actually pass now
WIP Capacity::Add::Advisor

Tests.check => Generator.run => Advisor.query
Converted to using reader methods on Admin::Stats objects
WIP refactor suggestion.rb into subdirectory