An initial (incomplete) parser and pretty-printer.

I thought lisp was supposed to be easy to parse! Somehow the parser is quite long. :(

Didn't bother about tracking line and columns, nor does it tokenise strings yet, so `(foo "ab cd")` calls foo with two `Symbol` arguments `"ab` and `cd"`.