Fixed repl indenting bug

- Had to do with left parens being popped off the stack in the wrong order.
  Now, a left paren is popped as soon as a right one is encountered.
lambdas work again

- Direct application also works a side-effect of the recent changes
  to how function application works.
  You can do:

((lambda (a) (+ 1 (a)) 5)

but also!

((define lol (a) (+ 1 (a)) 5)

In the second case, lol will be immediately applied, but also added
to the scope as a reusable function.
Strings implmented
Wrote `cons` and `car`
Implemented `range` function
Fixed small bug with List evaluation