Background shouldn't run if there were no scenarios matching requested tags

For example I have feature file:
```
Feature: something

Background: 
  Given this step fails

@tag
Scenario: whatever
Given this step passes
```

When I run this feature file with: ```cucumber --tags ~@tag```
Then it should pass.

However currently it doesn't because background steps are being run even if there is no scenario to run in given feature file.

I've included failing feature with this pull-request.