overhaul of built-in function architecture

- unionized obj.data
- standard function prologue, function utilities
overhaul of built-in function architecture

- unionized obj.data
- standard function prologue, function utilities
extension bindings to standard streams
vectors, strings, and formatted print
a few fixes
preparing to properly introduce environments
implemented lexical scoping and actual local environments
fixed type-checking bug
implemented tail recursion for user-defined functions
if-forms are now tail-recursive
fixed define happening in the wrong place
fixed test demo
function application exception-catching
updated README
implemented typeof operator
stopgap fix: define is broken
implemented macros
implemented backquote
tabled backquote; reimplemented stream open
moved builtins into eval and other things around