Output the step cucumber is *about* to execute so user can see what is *currently* executing.

I find it somewhat confusing and unhelpful that cucumber only tells me which step has been executed
*after* it has finished executing that step.

This is especially an issue when I am running tests that are driving interactions in a web browser
(with selenium webdriver) and watching both the output from cucumber and the interactions in the
browser at the same time. What I was seeing happening in the browser would appear to not match up
with the output provided by cucumber, because cucumber was "behind" -- still displaying the results
from the *previous* step invocation.

I'd really like to be able to see what's going on inside cucumber a bit more and to be able to see
**which step is cucumber currently executing right now**.

This patch provides that behavior. I've been using it for a while now and it seems to work well.

As a side effect (not a bad side effect though, in my opinion, though that's debatable), if your
step happens to invoke *other* steps as part of its step definition, this patch causes cucumber to
report which of those inner step invocations is currently being executed and not just the step that
is mentioned in your (outer) gherkin file.