stop using Class::Load

The heuristics involved in is_class_loaded and such have caused all
kinds of issues over the years. Instead, we should use Module::Runtime,
which uses %INC as the only check to see if a package has been loaded.
This should hopefully not cause too many problems now that we make sure
the appropriate %INC entry is set whenever Moose creates a class.

Class::Load should stay as a dep for now, because we haven't actually
deprecated Class::MOP::load_class and such yet, but we should get on
that too.
factor this out
use our existing implementation here
dep on Module::Runtime