fix bugs on Heredocument

I fixed bugs on Heredocument.

Now they works same as CRuby :

1. heredoc within array literal

    ```ruby
    p [1, <<AAA, 3,
    2
    AAA
       4]
    # => [1, "2\n", 3, 4]
    ```

2. heredoc within arguments

    ```ruby
    def f(*x)
      p x
    end
    f(11,<<AAA,13,
    12
    AAA
      14)
    # => [11, "12\n", 13, 14]
    ```

3. heredoc within expression expand in heredoc

    ```ruby
    p "21 #{<<AAA} 23"
    x #{b = {b:<<BBB}} y
    22
    BBB
    z
    AAA
    # => "21 x {:b=>\"22\\n\"} y\nz\n 23"
    p b
    # => {:b=>"22\n"}
    ```