Allow Moose::Role style modifications to class instances

#### Most important:

- [x] Get rid of global %_Test

#### Change method calls to instance methods rather than package subs

- [x] Change methods from _method($self) to $self->_method
- [x] \_run\_method (should make this public, it's something where logging could be wrapped - think of it as an event as well as a method.
- [x] \_method\_info (I don't know who would want to override this, but someone might.  This might also allow for new behaviors that might not be expected.
- [x] \_test\_info

Finally

- [x] Break out the individual tests for each class, so that a classes test run can be wrapped individually in a role based way.  This allows for more flexibility in overriding/changing behavior.