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.