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.
New config reader for tfs remotes.
Unit tests for the configuration for a new tfs remote.
Add tests for bootstrap.
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.
Merge pull request #246 from patthoyts/pt/autocrlf

Implemented --autocrlf option for init, clone and quick clone
Support for security and performance reviewer

The following directives are supported from a commit message for
specifying checkin notes:
git-tfs-code-reviewer: John Smith
git-tfs-security-reviewer: John Smith
git-tfs-performance-reviewer: John Smith
Optional spaces in commit message directives

Previously you needed at least one space after the directive, this is
now optional. For associating with work items the space between the
number and the action is also optional.

Examples:
git-tfs-work-item: 1234 associate

Can now be specified as:
git-tfs-work-item:1234 associate

Or if you are really lazy:
git-tfs-work-item:1234associate

Same for other directives:
git-tfs-code-reviewer:John Smith
Unit test for getting reviewers from message