Added two new functions to support git operations:
- git_diff: Get git diff for generating commit message (both staged and unstaged changes)
- git_commit: Commit changes with commit message and optional signing
These functions also support:
- GPG signing if available and configured
- Automatic staging of files if scope is provided
- User confirmation before committing
- Signed-off-by line with git user info
Signed-off-by: Hanchin Hsieh <me@yuchanns.xyz>