Bugfix: scenario name alignment with rfill should ignore tags

When measuring the column width, only the last line of the scenario
name should be considered. Otherwise, the line number information is
insufficiently spaced (because it's missing the spacing chars
incorrectly subtracted due to the length of tags, etc. in the lines
Bugfix: print scenario names correctly when backgrounds exist

Previously, the scenario's name was displayed, then the background steps
were printed, and finally an incorrect scenario name (corresponding to
the first scenario run with that background) was displayed.

With this bugfix, the background is displayed, followed by the correct
scenario name.
prevent undefined background steps from crashing silently

Previously, undefined steps used in a background block would cause
lettuce to crash and abandon the dependent scenarios, without failing the test scenarios.
This behavior is problematic: if undefined steps are in a background, a
CI server (e.g. Jenkins) will continue running the test bench and report
successful testing, even though all scenarios associated to the failing
background step were not able to run.

This patch corrects the behavior: if there are undefined steps in the
background, the associated scenarios fail explicitly and indicate which
step is undefined.