Use step name in backtrace and simplify the usage formatter

When cucumber-ruby-core use the row location for instantiated outline steps, the usage formatter can be simplified. Use the (expanded) step name in the backtrace to be consistent with the step location for instantiated outline steps.

Requires cucumber/cucumber-ruby-core#63.

- [X] Take advandage of that instantiated steps have the row location and revert the usage formatter to the previous version
- [X] Use the expanded name in the backtrace
- [X] Include both the expanded step and the outline step in the backtrace
- [X] Update spec and features to expect the new behavior of cucumber/cucumber-ruby-core


The reason I put the expanded step deeper is from considering a case like this (which exist in our features for Cucumber):
```
Scenario Outline:
  Given this step <state>
  Examples:
  | state  |
  | passes |
  | fails  |
```
with step definitions like:
```
Given(/^this step passes$/) { }
Given(/^this step fails$/) { fail }
```
Depending on the example row, the expanded step will be matched to different step definitions, which make the expanded steps closer related to the step definitions than the outline step (for which there is no matching step definition).

In case of like this:
```
Scenario Outline:
  Given I have "<count>" cukes in by belly
```
Then the expanded steps will be matched to the same step definition, only the argument passed to the step definition will differ, so putting the outline step deeper could make sense here.