…e references and super + proper punctuation scopes for module names
A common point of confusion for some Citrus users is that they are not able to retrieve a match by calling its own name on itself. This commit adds self to the internal @captures Hash in the first position. Also, Match#to_a and Match# were added for convenience when retrieving captures and submatches.
All example test suites are run with the default Rake test task. This ensures that examples are always working with the current version of the code. Also, Citrus.require should raise Citrus::LoadError if it cannot find a suitable file to load.
Added the ability for require statements inside Citrus files to require other Citrus files that may be in the $LOAD_PATH. Also, modified the behavior of Citrus.load to cache the result of already loaded files so that we don't load the same file twice. Modified examples/ipaddress.citrus to demonstrate the use of require from within Citrus files.