Fixing issue #171 - plus some cleanup tasks

Fixing System.ArgumentOutOfRangeException: Non-negative number required.

The biggest issue was fixed by switching to an unbuffered stream when
receiving a pack.  We also set the flag to bypass the httpRuntime
maxRequestLength, theoretically allowing upload of a pack of any size.

Also fixed various other issues related to large repos.  Git seems to
have a bug that although it's running a 32-bit executable, it detects a
64-bit system and uses the 64-bit config values.  This causes the
process to run out of memory when compressing large sets of objects.
This was resolved by adding a git config file in App_Data and updating
the code to provide the HOME environment variable to the Git process.
The values in the config file are reasonable defaults that allow cloning
of a 22GB repo without any issues.

Also fixed the maxAllowedContentLength to be 100MB to match the
maxRequestLength.  This doesn't seem to be used on IIS8, but the
previous 4MB value was way too small.

Various cleanup tasks in touched files:  putting using inside namespace
(http://stackoverflow.com/questions/125319/should-using-statements-be-inside-or-outside-the-namespace),
making lines more uniform.
Attempting to check in the Git config to be used on the server.
Reverting usage of "this" in files
Moved using statements back out of the namespace to be consistent with all the other files
Adding .gitconfig to the project

Forgot to add the .gitconfig file to the project.
Adding back missing using statements

These statements were removed because in Debug a section of code doesn't
exist and wasn't considered.  Verified with Release and Debug builds.
Merge pull request #178 from kfarnung/master

Fix for #171