A more complete CURD test for user

Update integration to cover major CURD cases
Implement user update interface

Implement PUT method for user
A more complete test with RestTester

Created a "mini package" RestTester to test RESTful API CRUD cases.
Rewritten all integration test for user with RestTester.
Fix minor API issues and other minor fixes

1. Put should return the record updated. The user_id was 0. Now fixed
2. Update .PHONY target in root Makefile
3. Update .gitignore to ignore .*.swp files (Yes. I use vim)