Cleanup exec rules
Nicer command line api

`$ lisper -v` shows the version.
`$ lisper -h` prints usage guide.
`$ lisper -c "(+ 1 2)"` evaluates the sexp
`$ lisper hello.hl` runs the script file.

Getting stdin piping and repl work together is a challenge. If a script
is piped in, it should evaluate and exit. Lisper should switch to repl
mode otherwise.