Add Mite::Source and Mite::Compiled.

These represent the source .pm and compiled .mite.pm files.  They are
needed because there can be multiple classes per file and the classes
would otherwise blow over each other.

Mite::Classes no longer know where they came from or where they're
compiled to.  That's all in Mite::Source and Mite::Compiled.

In addition (sorry, big commit)
* Changed the mite file back to .mite.pm from .mite.pmc.  @jkeroes,
  and the 5.18 .pmc bug, convinced me there's no utility to using
  the .pmc convention and it might confuse people and tools.

For #3
Simplify mite_load() and mite_compile().

The idea was to control putting multiple things in one directory, but it's
not used.  And the $class argument assumes one class per file, which is
no longer true.

For #3
Test multiple classes in one file.

Make inheriting from a class in the same file as you work.  This means
making Mite::Class aware of its source so it knows whether to load the
parent or not.

Previously each class would write its own new() method.  Now they will
properly call $class->SUPER::new if they have a super class.  This
ensures parent's defaults get used.  This will probably be broken by
multiple inheritance.  We probably need to walk up the inheritance
tree and read all the attributes.  That's for another issue.

For #3
Merge branch 'issue/3'