Add tables to the lexer
Add doc strings to the lexer
Distinguish between lines in a doc string

This is required as the lexer increments line numbers by identifying newline characters in isolation.
Add doc string and table to AST::Step
Pass doc strings and tables to Steps via accessors
Handle whitespace within doc strings
Handling doc strings within the parser
Handling tables within the parser
Feature description always stored in an array

This is to remove the previous inconsistency where a single-line description was stored as a string.
Add parser for individual scenarios
Add scenario outlines to lexer
Add scenario outlines to AST
Add scenario outlines to parser
Merge branch 'scenario_parser' into add_missing_features
Update parser test to include scenario outline
Make newline after examples table optional
Refactor to allow mocking of file generated when printing a feature
Add `ExamplesTable` to AST
Add `TableRow` to AST
Add test verifying presence of examples table on Scenario Outline