behave's exit code only depends on the last scenario of the last feature

It looks like behave always exits with 0 if the last scenario of the last feature did not fail (when not used with --wip or --stop).

This small patch makes it so that behave exits with 1 if any step of any scenario of any feature fails.

(BTW: thanks for the tool! We are using it successfully to add tests to a large Python code base.)