[Merge after #53] Parsed interpolation values

Blocked by Functions branch: https://github.com/alphagov/smartdown/pull/53

This re-uses parsing/transform in interpolation, so it uses the same logic/code as functions/values/predicates in next node rules and conditionals.

This allows it to support function calls in interpolation, and any new parsable/evaluatable features added in the future should Just Work™ for interpolation as well.

To do this I had to update the parsing rules for named predicates, making a trailing `?` required, otherwise it would parse pretty much everything as a named predicate. IMO this is a more readable convention anyway, but this may be a breaking change for some existing Smartdown flows that don't use the trailing `?` pattern. We should note it in release notes and version bump accordingly.