git-gui/gitk: Do not use a Cygwin-specific kill flag on Windows

Windows does not necessarily mean Cygwin, it could also be MSYS. The
latter ships with a version of "kill" that does not understand "-f". In
msysgit this was addressed shipping Cygwin's version of kill.

Properly fix this by using the stock Windows "taskkill" command instead,
which is available since Windows XP Professional.

Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
Merge pull request #239 from sschuberth/taskkill

git-gui/gitk: Do not use a Cygwin-specific kill flag on Windows
Enable Python by default on MINGW
Convert charactor encoding to utf-8 on MINGW before git fast-import

System default in Japanese Language version
 * p4: CP932 on Windows
 * msysgit: UTF-8 on Windows(MINGW)
Cosmetic change
Improve conversion of character encoding

- Make use of P4CHARSET environment variable
- Make use of encode method with ignore option
Add URLs to refer to character encodings

 * http://www.perforce.com/perforce/doc.current/user/i18nnotes.txt
 * http://docs.python.org/2.7/library/codecs.html#standard-encodings
Improve conversion of character encoding when p4 submit

- Convert character encoding of logMessage to P4CHARSET or to a encoding
  from user preferences, appropriately
- Separate p4char2encode hash from tounicode function, accordingly
- Use the Codec instead of Aliases in Python Standard Encodings

https://docs.python.org/2.7/library/codecs.html#standard-encodings
- Distinguish decoded data and data
- Make debug print conditionally
Ignore error in marshaled data if Perforce file type is utf16

The value of "code" in marshaled data is often "error", which is
"CANNOT TRANSLATE" error message [1] with "p4 -G -x - print",
if Perforce file type is utf16. But the missing data will be handled properly
in the streamOneP4File method with "p4 print -o".

  [1]
  Internationalization Notes for P4D, the Perforce Server and Perforce
  client applications
  http://www.perforce.com/perforce/doc.current/user/i18nnotes.txt
- Specify output file to handle utf16 filetype properly

According to "p4 print" manual [1], the default behavior of the p4
print command is to return UTF8 content. Bypassing terminal output
entirely and specifying an output file, we can get UTF16 content.

I have confirmed that UTF16 content including Simplified Chinese
and Japanese language is handled properly.

http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_print.html
[1]
Remove newlines replacement process
Enable binary patch

- Add --binary option to git diff-tree to enable to apply binary patch
Enable binary patch

- Diff if file type is not binary
Enable binary patch

- Diff if file type is not utf16 too