initial parser sketch

only things failing are a couple of tests that check for informative
syntax errors
better error messages during parsing
depend on parse::keyword
not sure what this was there for, but doesn't seem to be necessary

if it actually is necessary, we need a failing test for it
make this follow the logic of subs
no reason for these to be hashes
we don't need the preamble at all here
and so no reason to keep these uppercase
capitalize error message
parser functions return undef on error now
don't leave partially built metaclasses around on syntax errors
reorganize some things
new Parse::Keyword passes in the keyword name to the parser
remove the old style of passing in metadata
remove unnecessary do blocks
encapsulate this hack a bit better
Merge pull request #39 from doy/parse-keyword

convert the parser from Devel::Declare to Parse::Keyword