Change andThrow to always throw an Error

If an error is passed in, it is thrown, otherwise the argument passed
in is wrapped in an Error.

Needs Discussion:
Since anything other than an error becomes wrapped in an Error, this commit makes it no longer to do code such as:
```javascript
var spy = jasmine.createSpy().andThrow(/regex/);
expect(spy).toThrow(/regex/); // fails since what is now thrown is an Error with message of the string "/abc/"
```
Was this part of the intention of the story to always throw an error?

[finishes #50607615][closes #372]