Chaining semantics after arguments with outdent

After adding chaining syntax in #3263 there has been a problem that kept bugging me:

```coffee
callA callB ->
  body
.method()
# and
callA callB -> body
.method()
# Compiles to:    callA(callB(function() { return body; }).method());
```
but
```coffee
callA callB expression
.method()
# Compiles to:    callA(callB(expression)).method();
```

This fixes the issue and makes functions and objects behave as any other argument.