Add .gitattributes

Since text=auto is specified (auto detect text files and perform LF
normalization), all text files need to be touched once to convert CRLF
to LF in the repo.
Rename .hgignore to .gitignore
Enhance .gitignore to use more standard patterns

Source: GitHub for Windows
Standard patterns for Visual Studio and Windows
Modify sln to use standard NuGet packages dir

In older revisions, I switched to using \lib instead of \packages.  However, \packages is better for NuGet-specific packages and libraries and \lib can be reserved for non-NuGet libraries (of which for this project there currently are none).