moved lexer to class-based format
tidied up
new style parser
Merge branch 'yay3' of github.com:isotoma/yay into yay3