add AST printer, apply gofmt
add unittests for ast
fix little but scary bug in lexer, write some more tests in process
fix parser, apply gofmt

+ Simplify *Parser.next() method.
+ Return pointer instead of struct in ParseProgram.
+ Fix 'expect's and 'accept's in parseRegister()
write parser test
fix register index parsing in reginfo()
apply gofmt for lexer
shorten registerp() by using reginfo() func