Set UTF-8 encoding for Git process.

Starting with version 1.7.10, Git uses UTF-8.
The input and output streams for Git must be set up with
the correct encoding.
Use -z option with git diff-tree.

When -z has been given, diff-tree does not munge pathnames and uses
NULs as output field terminators. This allows for secure parsing of
the output.

Quoted paths were not correctly interpreted as UTF-8. This avoids the
problem by not having quoted paths.
Merge branch 'master' into unicode

Only conflicts regarding extension method StreamWriter.WithEncoding vs
StreamWriter.WithUTF8EncodingWithoutBOM. I kept the more general
WithEncoding.
Unit test fix: run git instead of git.cmd

Recent Git version replaced the git.cmd script with an exe wrapper.
Running git works for both git.cmd and git.exe.
Fix line endings

Somehow the previous merge commit added incorrect line endings.
Test: verify correct commit message after clone

Verify that the commit message is stored correctly in the
CloneProjectWithInternationalCharactersInCommitMessages test.
modified TfsCommitInfoRegex to be multiline and its now used to remove tfs ids from the result of GitRepository.GetCommitMessage
removed an out of convention new line
Change `TfsWorkItemRegex` to allow any whitespace between the item id and the action. Fixes #234.
Merge pull request #238 from millimoose/issue/234

Change `TfsWorkItemRegex` to allow any whitespace between the item id and the action.
Merge pull request #237 from worldspawn/remove-git-ids-from-commits

modified TfsCommitInfoRegex to be multiline and its now used to remove t...
Normalize commit message line endings to CR+LF style.

This forces commit message to be shown correctly in TFS check-in dialog,
regardless of line endings specified in the original git commit message.
Merge pull request #239 from vansha/normalize-commit-message

Normalize commit message line endings to CR+LF style.
Fix tests.
Support for checkin notes

Specify the code reviewer in a commit message similarly to how
work items are associated, e.g.:
git-tfs-code-reviewer: John Smith
Unit test for getting code reviewer from message
Allow check-in notes to be set on the command line

New command line switches for rcheckin:
-c, --code-reviewer=VALUE  Set code reviewer
                             e.g. -c "John Smith"
-s, --security-reviewer=VALUE
                           Set security reviewer
                             e.g. -s "John Smith"
-p, --performance-reviewer=VALUE
                           Set performance reviewer
                             e.g. -p "John Smith"
Added option to set core.autocrlf for init and clone.

This implements the suggestion in issue #220 and leaves the default as
false but permits true or auto but not any other values.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Created unit tests for the --autocrlf option to init and clone.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Added more information about what we're looking for in pull requests.