handling of ReturnType follows the hello.jt rule, that it's implicitly
void.
- add Reader.peek, a repr, Reader.expect_val, Reader.ignore
- add _fn_ret_type for ReturnType generation
- fix some things when reading named functions
- add read_import
- add handler for unexpected reserved word
- add some ast cleanups on a read_loop
- add ast skip when token is None
- add Reader.expect, Reader.next_safe
- fix fn_read_args, use TypedVar
- use Reader.expect in read_function's post-fn check
- use Function in read_function
- add basics of blocks using { and } in read_start