Add comment statements to gherkin writer

@mattwynne this seems to work reasonably well. It's starting to get a bit hacky
though! We add comments before we create the element of a document, e.g.
`Feature`, `Scenario` etc.

This means we have to hold on to the comments, and give them to the element on
creation.