Allow args and members delimited by \n inside of (), {}, and []

This allows for syntax such as (notice the missing commas):

```ruby
some_hash = {
  :foo => 'bar'
  :bar => 'foo'
  :baz => {
    :qux => 'quux'
    :corge => 'grault'
  }
}
```

This does not break existing hashes. You are able to mix-and-match old and new syntax, e.g.,

```ruby
some_hash = {
  :foo => 'bar'
  :bar => 'foo',
  :baz => {
    :foo => 'bar'
    :bar => 'foo',
    :qux => 'quux'
    :corge => 'grault',
  },
}
```

Additionally, this only affects hashes inside of curly braces (`{` and `}`).

**Update 2013-09-30**

This now also applies to arrays inside of square brackets (`[` and `]`), e.g.,

```ruby
some_array = [
  :foo
  :bar
  [
    'baz'
    :qux
  ]
  {
    :quux => 'grault'
    'garply' => [
      'waldo' => :fred
    ]
    :plugh => 'xyzzy'
  }
]
```

**Update 2013-10-01**

This now applies to method call arguments. This enables syntax such as

```ruby
Hash[
  :foo, 'bar'
  :baz, 'qux'
]
```

(becomes `{ :foo => "bar", :baz => "qux" }`)

as well as

```ruby
puts("this is line one"
     "this is line two"
     "this is line three")
```