Add linting tool to gulp enviroment

Plugged in esLint
Configure esLint by following partly Idiomatic.js
Modify source code according to the lint configuration
Cleanup linting

- Remove unnecessary .jshintrc.
- Add gulpfile.js to linted files.
- Fix lint errors in checked *.js.
Add jsdoc

- Fix/change external dependencies to compatibles (~>)
Add 'dist' task

'dist' task will create version suffixed, minified, uglified, amdified
JS components that can be sourced directly from anywhere.