Parse ::GlobalNamespace::Modules

A lot more work went into the lexing of this than I anticipated. It was
quite difficult to get the yacc rules for this parsing to work. Since it
doesn't really make much sense to spin my wheels on this edge case so much
I'm more than happy to have some better tests around parsing namespaces
and modules and classes and whatnot.

Pretty sure there's still some edgecases in here where the lexer or parser
will straight up panic trying to index past the edge of a slice or string though.