Refactor of spcifications

Added traits to better organise  specs.
Cleanup up some naming.
Spec for gherkin without a scenario tag
Specification for bad source data
Handle snippets with multiple scenarios
Merge branch 'specification-work'