fix(npm): Remove extra shelljs requirement
chore(npm): Upgrade deps
fix(npm): Move lib into separate dir

- Load component(s) via lib/component.js to allow easier native require()'s.
style(lib): Move create() to top of file
chore(style/grunt): Fix build commands, move create()
refactor(lib): Move out of component environment

- Conjure mocha runs via grunt
refactor(OuterShelljs): Remove unnecessary shelljs prop
chore(test): Update sinon-doublist* usage
chore(sinon-doublist): Update use to latest API
feat(grep): init
fix(grep): Correct exit code check
test(grep): Add coverage
fix(grep): Silence the exec()
refactor(shelljs): Store ref as class prop

- Allow downstream libs to stub out real shelljs
test(refactor): Use shelljs class prop
style(whitespace): Remove extra line
fix(grep): Treat 0/1 exit codes as clean

- Clean = inputs were accepted without error
fix(grep): Escape shell args
fix(grep): Only escape text pattern
fix(grep): Escape parens, do not escape single-quote