Role (Moo::Role) now applied to schema object instead modifying class

Logic that used Class::MOP::Class to directly modify the class/package
of the tracked schema has been moved and converted into a Moo::Role
Role. Now it is only applied to the object (ANON class) and doesn't
touch the real/original class which is much cleaner. Still need to do
the same for Result classes (will be on ResultSources)...