More-Granular Bailing

This change gives you more control over the `bail` option for a suite.  Currently, setting `this.bail()` in a `describe()` or `--bail` through the CLI will cause mocha to stop executing all further tests, even tests in sibling or parent suites.  This change allows you to turn bail on and off in suites and scope the bailing to only that suite and its descendant suites.  Also, if a child suite turns off bailing, it will be run even if its parent bails.  See the new `bail2.js` spec file for concrete examples.

I'm not sure if this is a merge-worthy feature, but it helps one of my use-cases in Mocha, where I want only certain suites to bail, and the bailing to be scoped.