Fix Println / Printf
Dump AST when fmt error
Allow single .go file as well as pkg

Also split 'prepare' into multiple funcs