Update tests to use Jasmine 2

So we now can use pending tests.

I used this: http://jasmine.github.io/2.0/introduction.html and http://jasmine.github.io/2.0/custom_matcher.html to help migrate the tests to version 2. Notably:

- Async waitsFor is now handled by passing `done` in to the `it` callback and calling `done()` in the callback function to whatever AJAX method is being called
- `.andCallThrough()` is now `.and.callThrough()`
- `.toThrow` now expects a string of the error instead of a `new Error`, if you need to look for a specific error, use `.toThrowError`
- And finally, the way to add custom matchers has changed.