added boolean and string evaluations

adds some new binary operations. after this alonzo can handle the following inputs correctly:

    ./dist/build/alonzo/alonzo "(< 2 3)>"                     // #t
    ./dist/build/alonzo/alonzo "(< 2 3)"                      // #t
    ./dist/build/alonzo/alonzo "(>= 2 3)"                     // #f
    ./dist/build/alonzo/alonzo "(string=? \"test\" \"test\")" // #t
    ./dist/build/alonzo/alonzo "(string<=? \"abc\" \"bba\")"  // #t