Agregado de un analizador léxico

    Se agregó el analizador léxico que separa la entrada en tokens.

    Algunas consideraciones: no se realizan todas las comprobaciones,
    pueden venir dos operadores seguidos, funciones, tokens especiales,
    etc juntos, sin verificar.
    Lo que está asegurado es la correcta separación, y que lo que va a
    llegar es un grupo de tokens conocidos de los grupos descriptos en
    parser.h.

    Funciones que van a ser útiles para la etapa de RPN:

    1. Las que dicen a qué grupo de tokens pertenece

        bool isValue() const;
        bool isParenthesis() const;
        bool isOperator() const;
        bool isSpecial() const;
        bool isFunction() const;

    2. En algún momento será necesario obtener el token, para saber,
    por ejemplo si un paréntesis abre o cierra, si un operador es uno
    con mayor o menor precedencia sobre otro, etc. Para ello utilizar

        string getAsString() const;

    La idea de esta función es ser usada cuando ya se sabe que el token
    no es un token de 'valor', porque para eso está getAsDouble. Aunque
    si es un token numérico devuelve el valor en la string, pero utiliza
    memoria extra y se hace una conversión innecesaria.
Agregado de lo necesario para que funcione NAN