Lucid is able to parse Step elements.

This commit recognizes step elements within a test spec. These steps are
stored as a context within the current scenario element.
Common Gherkin element attributes are now mixed in.

This commit is a simple change to remove common element attributes from
the a specific Gherkin element class and instead have those attributes
be part of a module that is mixed in to the Gherkin element class. This
should reduce code duplication.
Lucid is able to parse test spec line numbers.

This commit allows Lucid to get the specific line that a given Gherkin
element appears on. This will be necessary for reporting purposes when
Lucid begins to execute the test steps within the spec.
Lucid is able to parse test spec tags.

This commit allows Lucid to parse the tags from any Gherkin element for
which tags are applicable.