Add a Path type which coerces strings into Path::Tiny

Change the classes to use this.

Nicer than having to run everything through path() in every method.
Shame Method::Signatures doesn't support coercion (yet).

Signed-off-by: Michael G. Schwern <schwern@pobox.com>
Add an AbsPath type.

It coerces from relative paths so we can safely chdir.

Signed-off-by: Michael G. Schwern <schwern@pobox.com>
Move code for initializing a project to Mite::Project.

Getting it out of the init command makes it easier to get at for testing.

Signed-off-by: Michael G. Schwern <schwern@pobox.com>
Eliminate some unnecessary type code now that we have Mite::Types.

Signed-off-by: Michael G. Schwern <schwern@pobox.com>