Adding additional edge case tests for toThrow and toThrowError

Also, changed dealing of multiple arguments so the user can do:
expect(fn).toThrowError(TypeError, "foo")

instead of:
expect(fn).toThrowError([TypeError, "foo"])
Merge pull request #377 from sheelc/toThrow_updates

Adding additional edge case tests for toThrow and toThrowError