Allow no linebreaks after body

For example:

    "test".any((Character c) {
            return c == 'x' || c == 'X';
        });

Note that there’s no line breaks between the anonymous function’s
closing brace and the function call’s closing parenthesis. This was not
allowed previously.
Implement function arguments

aka anonymous functions (either with fat arrow or with body).

The test case covers a whole bunch of other features as well; the
unformatted version is also probably the most hideous code I’ve ever
produced, and I love it. It’s not just a bunch of arbitrarily misplaced
and/or extraneous spaces, there’s actually a lot of (disturbingly wrong)
vertical _structure_ in it that just looks so unsettling and plainly
wrong...

(See also #26 about the indentation of the formatted version.)