CS interpreter updates

- Operator precedence
    Operators now follow standard operator precedence. Precedence is as follows (from highest to lowest):
    ^
    *, /, %
    +, -
    <, >, <=, >=
    ==, !=, is, isnt
    and, or
- Prefix not operator
    `not A` => `A.not`
- Short-circuiting and/or operators
    `A or B` only evaluates B if A is `false`
    `A and B` only evaluates B if A is `true`
- .to-string and .inspect
    .to-string should return a human-readable representation of an object
    .inspect should return a representation suitable for debugging
- Stack traces
Fixed some bugs in the library funjects
Fixed a few bugs in the Sublime Text package
Added a .gitignore

It ignores private/ directories and .DS_Store files.
Removed interpreter.rkt~

Also added a .gitignore rule to ignore all .rkt~ files.