Parsing of conditional clause
Ensure markdown_blocks always produces array

this trick of using repeat(1,1) matches one repetition of a clause but
causes the match data produced to always be an array containing one
element. This avoids the wierd edge-case that when there is a single
markdown block you would get the markdown block alone, but when there
are multiple you would get an array. Instead you always get an array.
Add Conditional model and transform
Add model builder helper for conditionals
Add NodePresenter for evaluating conditionals

also added Engine#evaluate_node
Merge pull request #12 from alphagov/conditional

Support for conditionals in outcomes