Add more things to parser-fuzz.t
Implement basic (correct) .format method

This almost does level 1, but it's lacking percent escaping code. I've tried
throwing URI::Escape::uri_escape in there, but that doesn't do exactly what this
spec expects either.
Optional things should go at the back of the AST

It's an awkward setup either way, but this is slightly less confusing.
Catch NYI errors and mark as todo instead of dying
Implement basic percent-encoding

This is enough to run the two level 1 examples.