Git commit command

This adds support to commit the current staged area.

Currently we commit everything in other words we do `git commit -a` in the dart implementation. We should hold off the staging area concept until migration to new git is completed.

I will add an equivalent to `git commit -a` in a follow up CL.

@rginda