ProgramRewriter raise a SyntaxError instead of a Parser::SyntaxError

 to prevent knowledge of Parser from leaking out
ProgramRewroter: fix bug where blocks cause it to not record preceeding invocations
Full test suite is passing again (had to move some specs to pending, though)
Simplify conditional in ProgramRewriter
ProgramRewriter: refactor local var to ivar
ProgramRewriter: refactor local var result to ivar
ProgramRewriter: Rename line_nums_to_node_and_col -> find_wrappings
ProgramRewriter: Rename result, add_to_result -> wrappings, add_to_wrappings
ProgramRewriter: Lock down public api
ProgramRewriter: pull duplicated code into method
ProgramRewriter: Some generic refactoring
Delete tons of code that is no longer used since we added ProgramRewriter