Inline if conditions

This adds support for the new inline-style `$IF` conditionals.

These conditionals are generated by analysing the conditional rules inside of outcome blocks in the smart answers definition. Whenever there's a PhraseList, the conditionals are extracted and the phraselists expanded. See `outcome_block_transform_chain_spec.rb` for example behaviours.