Core: Implements QUnit.skip

Fixes #637
Fixes #434
Now that there are multiple places calling this: Looks like `Test` would be a better home, could then be like this:

```
if ( test.invalid() ) {
  return;
}
```