Comments and tags parsed as part of feature.

The spec builder now recognizes comments (that come before a feature
title) as well as tags applied to the feature. These elements are now
included in the AST.
Logging can provide more useful output.

The main change here was to allow the logging output to break down how an
object is displayed, using the "pretty print" mechanism of Ruby. This is
mainly useful for the AST-level logging information.
Scenarios parsed as part of feature.

Scenarios are now built into the AST as nodes of the feature element.
As with features, scenarios will have their comments and tags incorporated
into the AST. A spec class was created that the feature and scenarios are
derived from. This makes it easier to incorporate common elements.
Steps parsed as part of scenario.

Steps are now built into the AST as nodes of the scenario element.
Locations now include path information.

Previously the location of a given spec element was denoted only by the
line number where the element was found. Now a location instance is
created that holds not only the line number but the path to the test
specification. This provides a full location reference.