215 - ignore initial value of out parameters, 220 - implicitly assign out parameters

Fixes #215.
Fixes #220 (well, the `out` parts; will spin the `ref` parts off into another issue).

As discussed in #220, pairing the `out` part of that issue with #215, as releasing #215 by itself would mean that #220 becomes a breaking change.

`BuildableCallRule.ApplyWherePredicate` is faked in the tests, so if no objection, will leave that one virtual.