Commit warning per file

This uses git config system to store file patterns and warning messages if the files are modified.
The user can commit `.tgitconfig` so the rules can be shared to all team members.

For example, a developer can change the DB connection string in his config file.
When he commits, it asks the developer whether or not to commit that config file. If he say No, uncheck that file and commit the rest of the files. But if he is adding new stuff in config file, he may say Yes. He do not want to use "assume unchanged"  because he may need to commit the config file in some cases (add new stuff).