Using bower to manage the 3rd parties for the client.
Update the "How to run" to describe the bower related information.
Use grunt to concat the lib files.
Update the descript of how to run grunt.
Code Restructure. Move client.js to sources folder.

With this change, I wish to make it easy for us to do jshint, minify the
codes in sources.
Use jshint to check javascript errors.

Using grunt-contrib-jshint to check the javascript errors.
And indeed find an error in client.js. Fix it!
Add grunt-contrib-uglify to minimize client.js.
Adding libs.js back.

As grunt is just used by developers, we need to add it back for
production.
Removed the steps for development.
Make the .gitignore file simpler.