Added TCO toggle, native overrides for shen functions.

Added option to toggle use of tail-call optimization.
Added native overrides for shen functions.
Moved built-in functions to their own file.
NewGlobal() context no longer has Builtins installed by default.
Added input count tracking to REPL, Tokenizer

Added input count tracking to REPL so parsed tokens will record on which
input they originated.
Broke up long lines of code.

Broke up some long lines of code to make them easier to step through in
the debugger, and perhaps more readable.
Fixed AndExpr/OrExpr expressions

Previous commit had broken AndExpr/OrExpr
Moved util funcs/consts, replaced bool flags with enum

Re-arranged extension methods, constants and replaced use of boolean
flags with enum. Renamed "Redirect" to "Thunk". Added built-in
"function" function.
Fixed cast in built-in function "read-byte".

Turns out I shouldn't have changed that cast.