Update .gitignore

Primarily to ignore emacs temp files.
A large overhaul.

This rebuilds everything into several classes.  Also we treat a mite
compilation not per attribute or per pm file but as a whole project.
This will hopefully allow new efficiencies to be gained.

Mite::Project coordinates everything.
    This absorbed Mite::Compiler
Mite::Class has all the information necessary to compile a class.
    This absorbed Mite::Compiler::new and ::extends
Mite::Attribute handles compiling attributes
    This absorbed Mite::Compiler::has
Mite::Shim is now handled by Mite.pm