GROOVY-6593 Operators other than dot do not support carriage returns

This commit works, but I'm always nervous about changing the grammar as there may be edge cases I haven't considered that would break existing code...

Can anyone think of any exceptions?

---
[From JIRA](http://jira.codehaus.org/browse/GROOVY-6593):

In Groovy, you can add carriage returns before the dot operator. For instance:

```groovy
doSomething()
    .somethingElse()
    .collect { ... }
```
But with the safe navigation operator or the spread operator, it does not work.

```groovy
doSomething()
    ?.somethingElse() // does not compile, "unexpected token ?."
    ?.collect { ... }
doSomething()
    *.somethingElse() // does not compile, "unexpected token *."
    .collect { ... }
```