Unit testing support added.

RSpec support has been added for unit testing the Lucid framework. This
ties into code coverage and reporting tools. There is a potential issue
here if I have an acceptance test example as part of the code repository.
The issue is that Lucid will be hooking into RSpec and that may conflict
with the unit test execution.
Lucid hooks into the RSpec loading process.

In rspec/core/configuration, there is a load_spec_files() method. This
method has the following line:

files_to_run.uniq.each {|f| load File.expand_path(f)}

The key thing there is the Kernel load() method. What my logic is doing
is essentially providing a custom load() method that is used instead.
This is where my own processing will have to go. I then return control
to the normal "load file" processing.
Lucid is able to parse Feature elements.

The RSpec usurping process calls upon a method that seeks out test spec
files and then uses the Gherkin API to build an AST representation of the
test spec. This representation will be stored in objects that can be
referenced and used in RSpec example groups. The current commit is able
to recognize a high-level test spec element (Feature or Ability).
Lucid is able to parse Scenario elements.

This commit recognizes scenario elements within a test spec. These scenarios
are stored as a context within the current feature element.