Project.pm: support orphan project creation
An orphan project is a project that is at least two levels deep but for
which there exists no parent project that it's been forked from.
The code already supports this complete with creation of any missing
parent directories if not for some overzealous checking in valid_name.
Therefore add some additional optional options to valid_name and the
ghost functions to a) actually allow orphan project creation to proceed
and b) to allow it to proceed even if subdirectories need to be created.
Signed-off-by: Kyle J. McKay <mackyle@gmail.com>