Add turnip style step definitions

First stab at an implementation of turnip style StepDefs prompted by the [discussion](https://groups.google.com/forum/#!searchin/cukes/turnip/cukes/0j_5u9zkZng/1rbOOVDzHMcJ) on the mailing list.

A couple of questions

* Should we deprecate the old `$placeholder` style in cucumber ruby?
* Do we want to add turnip style custom placeholders - or leave people to rely on Transforms?
  * If we add custom placeholders, they should only affect turnip style stepdefs and Transforms only operate on RegexpStyle stepdefs - (I think this is the way to go)
There's still a little duplication here - you have to name the placeholder and the block argument.

I have a feeling that Turnip doesn't require you to do this. Could we do something magic with closures / binding to add those variables into block scope? Would that be confusing?