A fucking big commit!

- gitignore is ok now
- re-arranged the package.json
- some code cleanup (use jshint!!!!)
- added stub for mail test
- and so on