add variable declarations

with this update, alonzo can handle the following:

    $ ./dist/build/alonzo/alonzo
    Lisp>>> (define x 3)                   // 3
    Lisp>>> (+ x 2)                        // 5
    Lisp>>> (define x 4)                   // 4
    Lisp>>> (+ x 2)                        // 6
    Lisp>>> (< str "The String")           // Getting an unbound variable: str
    Lisp>>> (define str "A string")        // "A string"
    Lisp>>> (string<=? str "The string")   // #t