style(jshint): Add globals list
fix(npm): Use an NPM friendly index.js

- Move component code to lib/
- Replace Makefile with grunt
chore(karma): Update adapter selection to 0.9.x
fix(browser): Only export sinonDoublist()

- Add files missing from prior NPM compat commit.
feat(sinonDoublist): Remove sinon as required 1st arg
fix(grunt): Remove extra lint.

- Move mocha run config to grunt.
chore(npm): Add shrinkwrap
fix(npm): Move lib out of component environment
chore(docs): Move changlog to own file
fix(sinon injection): Revert its removal

- Required to easily support things like sinon-chai use where the global
  (client-local) sinon module needs to be modified.
docs(api): Generate with gitemplate-dox
docs(api): Fix list formatting
docs(api): Add comment to module.exports
chore(npm): Install grunt
fix(browser env): Export dist instead of index.js

- index.js only worked in node-env due to require()
chore(dist): Regenerate
fix(npm): Remove karma as optional dependency
fix(npm): Remove shrinkwrap