use cdecl for hashsig sorting functions on Windows
fixing some warnings on Windows
Add GIT_STDLIB_CALL

This removes the one-off GIT_CDECL and adds a new standard way of
doing this named GIT_STDLIB_CALL with a src/win32 specific def
when on the Windows platform.
Fix some deprecation warnings on Windows

This fixes some snprintf and vsnprintf related deprecation
warnings we've been having on Windows with recent compilers.
Merge pull request #1373 from arrbee/why-cdecl-why

Why cdecl why?
Clone should not delete directories it did not create
Merge pull request #1378 from jamill/clone_no_delete

Clone should not clean up directories it did not create
Control for core.autocrlf during testing
Merge pull request #1379 from arrbee/fix-tests-with-autocrlf-input-on-windows

Control for core.autocrlf during testing
Allow empty config object and use it

This removes assertions that prevent us from having an empty
git_config object and then updates some tests that were
dependent on global config state to use an empty config before
running anything.
Merge pull request #1382 from arrbee/fix-diff-patch-a-different-way

Allow empty config object and use it for tests
Updates to CONTRIBUTING and CONVENTIONS

The discussion about converting some of our foreach-style APIs to
use iterator objects got me wanting to make a list of good starter
projects.  I put it in CONTRIBUTING.md and then went crazy with
updates to that file and to CONVENTIONS.md.
Simplify diff example using revparse

When the examples/diff.c was written, there was not yet a revparse
API.  Now we can use it to make command line parsing way better
with less code.  Yay!
Fixed a couple typos
Merge pull request #1386 from arrbee/update-docs

Update contributing and conventions