update gitignore
add support for some math functions

new ast nodes: Sin, Sqrt
new token: SYMBOL
small improvements in Lexer

replace use of deprecated to_owned() with to_string()
evaluate() now returns f64 instead of String