Ensure 'use strict' is used in all our files and add to missing locations

This started off on a comment from Alexis on PR #333 about moving "use strict".

According to what I've found, "use strict" only applies to function or file/module scope, so adding it to these files should be fine.

There was only one test issue revealed by adding strict mode, and there were a couple of jshint warnings which afaict were unfounded, so I silenced them.

I've also updated .jshintrc to add use strict, which will detect missing instances of "use strict" and detect some of the issues.