Ignore emacs autosave files
Better expression identification

To check for an expression, now a script is wrapped in parentheses and then
run against lexer and parser. This would better not identify declarations as
expressions. For example,

If this script `foo :: String -> Int;foo x = 3` is submitted on the REPL,
previously to identify whether the script is an expression or declaration, this
code `t = foo :: String -> Int;foo x = 3` is generated which is successfully parsed
so this script is identified as an expression and `foo` will be discarded after
the evaluation (since it is a function type, just the type will be returned).

Now this code `t = (foo :: String -> Int;foo x = 3)` is generated which is actually
not valid and hence it is not identified as an expression but identified as a
declaration correctly. A consequence of this is that previously valid statements
 in repl such as `x + 3 where x = 5` will be invalid now which is actually correct
 because that is not a valid expression.