added if condition to event transition

added method #can_do_event? which checks not only the event being in the chain but also whether the "if" condition is satisfied

added helper methods like halt_event? and has_event?

added a Gemfile

added RSpec specs
added have_events and have_only_events methods to act as matchers

Since these methods are so small, seems pointless to add a new
gem for RSpec matchers.