Cleaning up some JSHint errors

Cleaning up a bunch of the JSHint errors. A few more remain since we'd need to move all the `var` statements outside of the `try {}` blocks so we don't get the `'...' is used out of scope.` errors (or else relax the JSHint settings). 

Other fun includes conflicting rules where we have to remove the `with()` statement or change the JSHint settings to make strict mode optional.

Also, a couple of ambiguous errors re: `'gherkin' is not defined.`, and `'AssertionService' is not defined.` which may be some AMD thing I'm missing.

This should fix most but not all of the JSHint warnings mentioned in #141. With a little luck, `./tests/tdd/assertion_service.js` should be the only file remaining w/ warnings.