Use correct frame for Environment.interpret_function().

Also implement string concatenation (the slow O(N^2) way) and update
startup bytecode to match turtlescript commit
2a44bc8683871ac3278acebc4d6aa5283f1f5bb5.
Implement enough of interpreter to bytecode-compile "return 42".

The startup code is now commit 4fe8f3b7694846ced932e0eecc9627810764372a
from the turtlescript project.
Execute the compiled bytecode.
Refactor out an Interpreter object to encapsulate the startup code.
Add simple repl to Interpreter object.

This only works for expressions right now (not statements) because I
haven't implemented Object.Throw/Object.Try yet. (The repl tries to
parse as a statement, and if that throws a syntax error exception
retries the parse as an expression.)
Implement exceptions, Object.Try() and Object.Throw().
Add interpreter test cases; fix bug with NaN and +/- Infinity.

Updated startup code to turtlescript commit
f6b60f7e583b48473ef5e58e6638d99acd8b3ea7.
Change main routine to repl using rust std::rl library.