Fix infinite loop/recursion in the inliner

Fix parameter name confusion in the inliner (when inlining nested
calls with same parameter names)

Make the inline smarter: Now it can evaluate simple builtin calls (via
Target paramter) and reduce concatenations to string literals

Add new ambiguous function overload error message and allow
SignatureNotFound error messages for partial matches (quotation mark type)

Move Builtin from Expr to Funcall's 1st data member. This allows calling
builtins but disallows having builtin expressions in the AST.

Add .ghci