switch to jshint

reasons:
 * jshint has more options
 * jshint's options are well documented, with examples
  * see: http://www.jshint.com/docs/#options
 * jshint differentiates between warnings and errors (not sure if jshint
   doesn't do this, or I'm just not sure how to set it.  looking at
   http://www.jslint.com/lint.html I'm thinking jslint doesn't support
   warnings vs errors)
  * NOTE: for vim you can get https://github.com/scrooloose/syntastic
    which will show you both for linted files
 * jshint supports a directory-specific `.jshintrc` options, in addition
   to a `.jshintignore` file
  * this could save some typing, though we would probably still need to
    leave the `/* global */` comments in there as they appear to be
    file-specific
  * more info no the options page: http://www.jshint.com/docs/#options

NOTE: The 'jslint' comments at the top are now moved into a
project-specific '.jshintrc' json file.  The global comments can still
be used to identify external variables in each script, with the only
difference being `browser: true` in '.jshintrc' may be a little
different than `browser: true` in the jslint comments (they both define
a list of globals specific to the browser iiuc), but this wasn't an
issue for any of the files I've updated (those with 'jslint' comments).

NOTE: I've checked the changed files, and they all (with a small change
to the indentation in `lib/css.js`) pass without warnings or errors.

As a final note, I've changed '.travis.yml' so it should still test
the javascript files for compliance w/jshint
clean up templates

 - add doctypes
 - close html tags
   - not sure if this is necessary, but it's at least consistent
 - remove unneeded default
Merge pull request #41 from joshuarh/template-cleanup

clean up templates
Clarify bug report contribution instructions
Merge pull request #39 from joshuarh/switch-to-jshint

switch to jshint
Crank up jshint strictness
Enumerate media queries
Detect media-query width breakpoints
Calculate media-query width intervals with sample points
Adjusting browser width does not affect max-device-width
Sample styles in each media width-interval
Disregard sub-pixel intervals
Add underscore
Save styles in callback so they are accessible to others
Output styles common to all media queries
Deprecate bookmarklet
Passing media query width tests

Still need to update ratiocinate.js to use the new features
Include media queries in output
Apply Josh's syntax fixes to new tests
Highlight interval inclusion ambiguity