do some tail call elimination
make the builtins evaluate their args properly
organise host fns/special forms
add let*
add letrec
add fluid-let

Conflicts:
	engine.js
add define
fix multi-expression evaluation
simplify literal parsing

with a little JSON.parse abuse
fix fluid-let
fix lambda up