Gherkin removal

Removed the gherkin gem from direct usage and replaced it with
the repository modeling capabilities of cucumber_analytics.
Mutability fix.

Got repo duplication working so that the original is not mutated.
Removing dead code

Removed a couple of private methods that aren't used anymore.
Merge branch 'ca_engine' into cm_engine
Merge branch 'cm_engine' into dev
Spec cleanup.

Refactored away some duplication in the specs.
Spec update.

Updated the specs to use 'expect' instead of 'should' syntax in order
to be compliant with the newer RSpec standards.