Misc test fixes

1. Add a `toThrowRuntimeError` to go along with `toThrowDeveloperError`
2. Remove all use of `toThrow` and use one of the above instead.
3. Overwrite `toThrow` so that it can no longer be  used (it spits out an error saying to use one of the above instead).
4. Fix bad tests and code that were passing because of the use of `toThrow`.

CC @shunter