Core: Implements QUnit.skip

Fixes #637
Fixes #434
I agree that properly reacting to `settings.skip` is the Test's responsibility, but manually faking a dummy object similar to an `Assert` but not `instanceof Assert` rather than delegating the implementation seems kludgy.