handle cygwin path
change cherry-picking key to c from p because it conflicts with nav.
fix error when when parsing commit in log buffer

on line without a sha1, check for the validity of the commit name
before comparing.
command to do a fast-forward merge to HEAD

modify egg-to-merge-to-head to support other flag
move merge message building to command from the core function
change key-bindings to be more consitent (not sure!!!)
rework the reset logic.

egg-log-buffer-attach-head now will
run git-reset --keep by default
run git-reset --hard with C-u
prompt for a git-reset flag with C-u C-u
register without adding previously untracked file(s)

simplify egg-status-buffer-stage-untracked-file
with prefix arg, use git-add's -N option to register files into the index
without staging their contents.
correctly handle unstaging of unmerged/merged file

use git checkout -m, it seems to work even for automatically resolved files.
reusing old message while amending

use git commit --amend --no-edit
no need for user to see the commit message
fix stash pop/apply and more verbose checkout
add a bunch of reset commands and their bindings

egg-diff-section-cmd-revert-to-head (reset the file under the cursor to HEAD)
egg-unstage-all-files (reset the index back to HEAD)
egg-revert-to-index (overwriting work-tree with the index)
egg-revert-to-HEAD (reset work tree and index back to HEAD)
simplify local push
start streamlining internal commands

git push
we can use git apply to undo hunk now
fix bug in rebase and minor changes
fix bug in async operations

get-buffer-create was used and it return the old buffer. if we're been
using egg with multiple repos, the the old buffer might be in a different
directory than the one of the current repot. this caused problem for rebase.
new gut for merge command
more new gut rework
merge seems to work
new gut for egg-do-merge-to-head
temporary checkin b4 going home