Spec context is passed to a spec loader.

The context loader will now pass the spec context that has been created
to a spec loader instance. This spec loader will be responsible for the
loading of spec files.

The options module was cleaned up a little for this commit as well.
Spec loader creates a spec representation.

The spec loader constructs a new spec object. This object utilizes a spec
builder, which serves as a listener to the Gherkin parsing mechanism. These
are the initial steps necessary to begin constructing an AST from the spec
files that have been included as part of the spec context.

An ability to filter logs based on a desire to see the AST as it is built
was added.
Color module added.

A module has been added that allows strings to colored. These coloring
elements have been added to logging as well as some of the warning or
error messages that Lucid generates.
AST construction begins with feature.

The spec builder is used get a parsing result for a spec element. The result
is responsible for constructing an object of the relevant type. In this case,
a top-level feature object is constructed as the start of the abstract
syntax tree.