Adding AppID and icons

### Patch

Reported at http://code.google.com/p/mintty/issues/detail?id=365.

The system assigned AppID is the process path and arguments, resulting in [unwanted](http://code.google.com/p/mintty/issues/detail?id=228) taskbar button grouping, which can be alleviated by applying a window AppID.

It's been requested that the program can be built with the icon for the corresponding system; Cygwin or MSYS, to avoid the manual task of changing the taskbar icon.

### Discussion

Replies to discussion at <http://code.google.com/p/mintty/issues/detail?id=228>.

> Please explain more clearly what problem you're trying to solve there. The original issue had already been addressed using the win7appid utility, so a new issue seems in order and I'm leaving this one closed.

Launching from the shell context menu or from .sh files doesn't use the shortcut and therefore doesn't group the icon.

> A couple of questions for the new issue. How does your patch using OLE to set PKEY_AppUserModel_ID differ from just using SetCurrentProcessExplicitAppUserModelID?

The process AppID doesn't group `cmd.exe` windows from different processes (which a windows AppID does), however that might not be relevant for mintty.exe.

> And how does it avoid the two issues I mentioned in comment 5?

That's a question without answer for me too. If that occurs you need to manually replace the shortcut in `%AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\Taskbar`.

If you apply the patch to `subversion` please set me as commit author with `svn ci -m "message" --with-revprop svn:author=john.peterson3@hotmail.com` (or update the author after commit with `svn propset --revprop svn:author "john.peterson3@hotmail.com" -r#`) so the commit is tracked for my Ohloh profile.

> I'm not going to change the default behaviour, because having separate taskbar icons for different mintty shortcuts does make quite a lot of sense and I don't want to change things for people who've come to expect that.

I'm not opposed to an option

> Even more so because setting the AppID in the application but not on a pinned shortcut would result in a separate taskbar icon when invoking the shortcut.

No the window AppID replace a `.lnk` AppID