use grunt to lint javascript

here just use jshint to lint.
test, concat, min should be added after
move to dist dir
mod event
lint
replace data test code with chai
mod undefind/null to pass jshint test
fix style
fix
add pre-commit for git
change test module from qunit to mocha & chai
add mocha test into grunt

update mocha.js / mocha.css, add config in grunt.js, mod html for
both phantomJS and browser
remove unnecessary space in className

use nature for-loop rather .each in removeClass, which in order to
remove the removed class from the array, so that will be no extra spaces
in the modified className.
change from qunit to mocha and update className's test code
remove unnecesarry files
remove test code
remove test effect
add selector test code
mocha test bofore commit
update componet
remove qunit