display list of failed scenarios in test run report

After running all tests, display list of failed scenarios, with file and line number.
Developers can then go through the failed scenarios and tag them
appropriately, so that while debugging they can run only the failed subset.
improve line search by applying regex only when necessary
add comments (and fix typo)
Normalize after* hook behaviour

Previously, the behaviour of after* hooks was inconsistent if an exception
was raised. If a system-exiting exception was raised (e.g., KeyboardInterrupt,
a result of pressing Ctrl-C), after_each.feature and after_each.scenario ran
only in failfast mode, while after.outline never ran at all, and
after_each.step always ran. after.outline never ran on any error when in
failfast mode. This was undocumented, unexpected, and problematic, since
the hooks can be used to clean up altered state, something we still want to
happen even if the test is cancelled or a step fails.

after_each.feature, after_each.scenario, after.outline and after_each.step
hooks will now run on a step failure on a system-exiting exception in failfast
mode and outside of failfast mode. The output plugins relied on the previous
behaviour and have been modified to make sure the output format does not
change. Tests have been added for the new hook behaviour.
extract step wrap to <StepDict> STEP_REGISTRY load method
use lambda expression instead of function wrap in step decorator
added tests used to make StepDict refactoring
added StepDict.load_func to load a step from a single function
make step decorator usable without call on it thanks to StepDict.load_func, and document it
added StepDict.load_steps to load steps from an object methods
added decorator '@steps' to load a list of step from class methods
added steps in __init__ to permit from lettuce import steps
remove assert_in, assert_not_in, and fix assert_raises to be compatible with python 2.6
ensure callable are functions or methods for load_steps
document syntactic sugar
Tags applied to features are inherited by scenarios
Merge pull request #389 from edx/master

Tags applied to features are inherited by scenarios
Update README.md
Update README.md
Fix exception with xunit and unicode chars.

When running lettuce with xunit it throws an UnicodeDecodeException when an
exception is thrown with non-ascii characters in it. This commit adds a test
and fixes the issue. The function utf8_string now always returns an unicode
string.