Add sim_source() to generate interesting Mite::Source's for testing.

The plan is to have each source to know its project, each class to
know its source.  This is so classes can do things like ask the
project (via its source) what other classes are in order to walk
up class hierarchies.  This complicates making a class for testing,
so we'll use the sims technique to make it easy to instanciate
interesting testing objects without mocking.

It's a bit stilted right now because there's no sim_class().

Had to make Mite::Class->source rw to allow sim_source() to attach
itself to existing classes.  Hopefully this can go away with sim_class().
Add sim_class().

Simpified sim_source().  Now if someone wants to generate a sim source
with existing class objects they can do it with $source->add_classes.

Clarified some of the class name vs class object arguments.
Switch to using sim_class and sim_source in the tests.
Add the ability to get the classes and sources from a project.

* Fennec replaced use of Test::Most a while ago, but it doesn't
include Test::Deep.
Add Mite::Source->project
Have Test::Mite turn on strict, warnings and v5.10 features.

Reduce the test boilerplate code.
Classes can look up their project and other classes.
Make the name and attributes hash read only.

Lots of things derived from the name, and don't want people
swapping out the attributes hash.
Make sim sources use the default project.

This is the normal mode of operation and much more useful for testing.
You can rapidly create multiple classes and have them inspect each
other.
Mite::Class->parents, super classes as Mite::Class objects

This is a step towards allowing classes to introspect their inherited attributes.

$class->parents is deliberately built lazy to allow the project to finish loading
everything before we start trying to load class objects.
Use C3 inheritance.  Add Mite::Class->linear_isa

Now a class can fully introspect its entire inheritance chain.
We're using the mro module to get it right.  It's a 5.10 core mod.

C3 inheritance is now on for all classes, it's just a good idea.
Merge branch 'feature/linear_isa'

Added Mite::Class->linear_isa so a class can introspect its parents.