Refactor of the feature step, reporting and fix for the multiline background steps.

Based on the #79 and #80. There was some refactoring needed to preserve the reporting functionality.
Also removed other entry points for the "generation", "cucumber_json" and "reporting" so now it shows "bdd" on the start only once for the plugin.
just getattr(self,feature.background, 'steps', ()) + self._steps, instead of 5 lines of dummy code