Fix for #326

Here's a pull-request to resolve Issue #326 regarding the ordering problem of the background steps and the scenario callback-hooks.

Sorry the code got a bit uglier on the output plugins with the need to track some state.  Cucumber seems to do the same thing of tracking state (littered with a few @inBackground variables) since the printing order (Background: then Scenario:) doesn't quite match the execution flow.

Anyways, there's a test in the first commit that demonstrates the bug and then the second commit patches the code.