Update JSHint
Fixes a try/finally issue in IE 6-8

In IE 6-8 if try/finally is used without a catch, the finally block
will not be run when an exception is thrown in the try section.
Adding the catch or wrapping the entire block in another try/catch
resolves this issue.

This commit removes one unnecessary try/finally case and resolves
another one by wrapping it in a try/catch block for IE 6-8 only.
This resolved the problem in the affect browsers without making
debugging more difficult in unaffected browsers.

This also removes a test for another Safari issue that is no longer
present with the refactor.