Added when() to BDD. This allows you to specify nested suites that are only run
if a truthy value is passed to when().

This is useful if you want to maintain a group of tests, only some of which
need to run in certain circumstances. For example, testing your shimmed
Array.forEach, but only on browsers that don't support it natively.