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

This started off on a comment from @ametaireau 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.