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.

Can we pass the argument as well as the expression (or at least a ref-ness boolean flag) to `GetArgumentConstraintFromExpression` (and any further calls)?