add editorconfig & jshint.

I know these crazy change sets aren't fun. Sorry :(

This PR introduces [editorconfig](http://editorconfig.org) and [JSHint](http://jshint.com). The configuration files are at root level, then I went through and ran it against the code, which is how we got to the huge diff. There are some things I'm not crazy about; mainly the 80 character limit. There are a few cases in here where splitting into a new line just makes things ugly.

I hate to even say this, being that the diff is so huge, but this is still just an initial "sweep." There are other code-style things that I think can still be addressed.

Please take a look. You'll notice lots of new lines, semi-colons, variable renaming, variable declaring, `use strict` atop every file, and other small things. I'm happy to tighten or loosen any of these rules and go back over the code.
The prepending spaces was actually from me manually tabbing away :) I don't usually enforce a hard 80 char limit line break in my code-- what is the standard rules of spacing?

JSHint won't actually touch our code, it only throws warnings. The `camelcase` requirement is solely to prevent us and future contributors from naming things like `the_results` alongside `theResults`. Like everything else, it's just for consistency. I think it's still beneficial to have the `camelcase` rule set, as constants with `_` is generally common practice. (easier to look at `THE_SUPER_LONG_CONST` over `THESUPERLONGCONST`.