Combined ArrayLiteral & HashLiteral into EmptyLiteral

Performance is therefore improved since we don't have to walk the
AST twice. I've also added a check for String.new invocations.