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.
Continuation is preferred to avoid things like:

~~~ js
var LONG_LONG_LONG_LONG_LONG_LONG_LONG_LONG_NAME = 'fdsfdsfs' +
                                                   'dfsffsfsfsf' +
                                                   'fsdfsfsfsfs' +
                                                   'dfsfsfsfsffsf';
~~~

You should prefer to keep the tokens that are from the same level of the syntax-tree together.

~~~ js
resultObj.getHelpFromAFunction(
    longArray, dataObj, null, functionReference);
~~~


~~~ js

// fine
if (hey && what && is && up &&
    with && all && the && ands) {
  var code = 'here';
}

// ...

// fine
var hey = 'what',
    is = 'up';

// preferred way would be:
var with =
    'all the ands. longer longere lo This is a pretend 80 char limited string';

var somethingElse = 'goes here now?';
// ...
~~~