Fall back on Test::Unit::Assertions if rspec-expectations is missing

Currently, users who don't want to use rspec-expectations have to do a
little extra setup in their env.rb to use Test::Unit.  Since Test::Unit
ships with Ruby (albeit as a wrapper in 1.9), it makes sense to look
for this library as a fallback.  This lowers the barrier even further
for users who want to jump straight into Cucumber with minimal
dependencies.
Add feature to check fallback to Test::Unit

The original implementation used require() to check for the presence of
RSpec.  This is difficult to test, because you'd have to stub out
require() at exactly the right time.

This commit reorganizes the code a bit to look for constants instead
(which are easy to override during testing).
Refactor
Update stepdefs.json