chore(COMMIT-MSG): Add Git COMMIT-MSG hook for validating commit message

Installation:
>> cd <repo>
>> ln -s ../../validate-commit-msg.js .git/hooks/commit-msg

See https://docs.google.com/document/d/1rk04jEuGfk9kYzfqCuOlPTSJw3hEDZJTBN5E5f1SALo/edit
fix(@,this): correct the wrong reference of this, @ operator

The issue that the angular decorator of the Model is initialing
itself with respect to the non-customized (origin) Model is caused by
new Model in the source codes. Using `that = @` solves this issue.
perf(find): let Model.find(id) return the element from the cache
if possible

Make Model.fin(id) return the cached one if there is one in the cache.
fix(@find): fix the issue of @find that cannot compare id of number
and string
fix(refresh): model.refresh is getting list of models if model.id
is undefined
fix(save): save() calls update() if id is not defined
fix(init): initialize Model using key:initialized instead of
list.length
chore(commit-msg): chmod of validate-commit-msg.js to executable to enable to commit message hook