Line split around combinators. Fixes #42. Fixes #86.

Combinators have some interesting restrictions that make
formatting them correctly a bit tricky. To enable that, this
adds support for one SplitParam implying another must
also be set.

Initially, I was going to use that directly and wire the params
up in SourceVisitor for combinators. But it turns out recasting
multisplits in terms of that is enough to get the right behavior.

But implies are faster and are more flexible for later things,
so I like this approach.

Also flushed out an interesting corner case around separable
multiplits and added a test for that.

BUG=https://github.com/dart-lang/dart_style/issues/42
R=pquitslund@google.com

Review URL: https://chromiumcodereview.appspot.com//789253008