Add a Function.constructor check to throws.

Allows you to also write:

```
t.throws(fn, TypeError);
```


> Having different semantics from require('assert') is confusing and not worth it...

Indeed. I agree with that. Update coming.