decouple parse state from token stream
fix tests due to parse state changes, move token processing tests over to lexer
add testfile for parse IOStream test