some jshint cleanup

Ping @kentquirk @jh-bate 

JSHint options that I changed:
- removed `"globals": { "_": false, "$": false, "async": false, "console": false, "chrome": false, "struct": false }` as it was causing a bunch of warnings, particularly re: redefining `_` and `async` when requiring things
- added `"loopfunc": true` because one of the CareLink files *`lib/carelink/settings.js`) is rife with this; if we feel strongly about preventing function creation inside loops, I can reorganize that file
- added `"sub": true` to suppress warnings about not using dot notation...there are places in the CareLink stuff where we have properties that can't be accessed in dot notation (because of illegal character in the prop name), and I feel consistently is more readable, but open to changing if there's disagreement
- removed `"unused": "vars"` because @kentquirk has a bunch of unused stuff that's just not used *yet*

I also changed some options (e.g., re: quotemarks) in individual files, and there are a few files that still aren't passing for now:
- `index.js` has a possible undefined var that I didn't look into
- `lib/carelink/suspend.js` has a bunch of undefineds that I don't know how to resolve (maybe just a missing `require`?). @cheddar would appreciate if you could take a look, actually