Make it so Test::Mite exports mite_compile and mite_load

Turns out the best way to do this with Fennec is to put all the
test functions into their own module and load that using
Fennec's "utils" argument.

mite_compile doesn't work, but it was broken anyway.  Fix coming next.
Get mite_compile() working again.

Set MITE_COMPILE inside Mite::Project, not outside, so Mite::Project
method calls do the right thing without having to set environment
variables.

Fix arguments passed from mite_load() to mite_compile().

Add a test for mite_compile().

Make sure the default temp directory doesn't kill itself at the end
of the mite_compile() scope because $dir is destroyed.
Give Mite::Attribute the ability to identify different types of defaults.

This will become important because each of them must be handled differntly.

Mite::Attribute->coderef_default is a little premature, but will be used
shortly in the process of handling coderef defaults.

For #4
Take advantage of the new Mite::Attribute default id methods.

For #4
Quiet an "only once" warning.
Make coderef defaults work.

Rather than try to dump them, with all the complexity of preserving lexical
context, have Mite::has() capture them at runtime and put them into a
global.

Requires d3bb411 from Mite to set the default global variable.

For #4
Merge branch 'issue/4'