Renamed XiDictionary to XiDict
'Attributes' are no longer needed when declaring a functions arguments.
Added TODO.md
Optimized node generation process.
Minor refactoring of XiVar and VariableCache
Refactored all node generation code into SyntaxTree
Moved StopNode into a new package containing only singleton Node classes.
Major syntax changes: changed 'RANGE', added 'DEF'

1. Functions are now defined with "def":

    foo = func ('n') {
        println n
    }

would now be

    def foo(n) {
        println n
    }

Also note that functions are called differently now as well:

    foo 42

would now be

    foo:42;

2. Range (what was once ",") now takes three arguments and is declared
using a backslash ("\"):

    , (3 12)

would now be

    \3 12;

4. List elements must now be seperated with a ",".

3. Lists can be indexed using the new function-call syntax as well.

    l = [1 2 3 4]
    println => l (1 3)

would now be

    l = [1,2,3,4]
    println l:1 3;