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.
Like what? I think we can make sure it is called only once. We should also think of removing the ambiguity between self.params and self.get_params() here... As for sum - with this amount of steps this operation for the list is trivial.