Support for conditional phrases in outcome blocks

Two syntaxes are supported

```ruby
precalculate :something do
  if foo
    PhraseList.new(:my_phrase)
  else
    PhraseList.new(:another_phrase)
  end
end
```

or

```ruby
precalculate :something do
  phrases = PhraseList.new
  if foo
    phrases << :my_phrase
  else
    phrases << :another_phrase
  end
end
```