Moved more logic into testing.hpp

- Also added virtual destructor to cass::Host::StateListener