fix a bug in parsing full programs

AST.Pgm.t is just a list of AST.Decl.t, but the parser was failing to
handle the EOF state for Decls, and so the Pgm parser always failed
move TODOs into TODO.org