Enable demand(function(){.....}).throw() scenarios when ctx is necessary

Examine the following scenario:

```js
function MyClass() {
  this.variable = 'not initialized';
  function myFunction() {
    if (this.variable === 'not initialized') {
      throw new Error('Tried using uninitialized MyClass');
    }
  }
}

var myObject = new MyClass();
myObject.myFunction.must.throw(Error, /uninitialized/);
```

Clearly, the exception containing 'uninitialized' must be thrown, but instead I get different exception saying "null doesn't have 'variable' property". That is because ``` this.actual.call(null)``` uses ```null``` as the context.

By passing ```this.actual``` as the context the fix enables the following testing syntax:
```js
var myObject = new MyClass();
demand(function() { myObject.myFunction() }).must.throw(Error, /uninitialized/);
```