add more tests (strings and fn)
fix test harness bug introduced by the report-multiple-failures refactor
add more fn tests

(The last two are broken currently.)
add tests (they pass)
add free vars tests (currently broken)
fix freeVarsIn()

This fixes some test cases.
use # for showing special forms

It's not part of the normal syntax,
so it won't be ambiguous with regular
bound variables or such.
fix bindFreeVars()

This fixes or at least improves a test result..
rename local var for clarity
output named builtins better.
add a passing test
Refactor: make environments an abstract type.

This does not change current behavior,
but it makes some future changes possible.
refactor: don't call env.lookup() so many redundant times
add letrec test (letrec is unimplemented presently)
refactor lispy.substitute to use envs
refactor test harness code