Zero memory for major objects before freeing

By zeroing out the memory when we free larger objects (i.e. those
that serve as collections of other data, such as repos, odb, refdb),
I'm hoping that it will be easier for libgit2 bindings to find
errors in their object management code.
Mutex init can fail

It is obviously quite a serious problem if this happens, but mutex
initialization can fail and we should detect it.  It's a bit like
a memory allocation failure, in that you're probably pretty screwed
if this occurs, but at least we'll catch it.
Add safe memset and use it

This adds a `git__memset` routine that will not be optimized away
and updates the places where I memset() right before a free() call
to use it.
Fix Windows warnings

This fixes problems with missing function prototypes and 64-bit
data issues on Windows.
Merge pull request #1647 from arrbee/fix-win32-warnings-part-112

Fix Windows warnings and missing prototypes
Merge remote-tracking branch 'arrbee/minor-paranoia' into development
util: It's called `memzero`
Revert "cmake: Update Windows resources to reflect the optional vendor string"

This reverts commit 095bfd748766966f5515bdfe64867d6a09287123.
cmake: Add option to specify the name of the binary
Merge pull request #1650 from nulltoken/ntk/winrc-filename

cmake: Add option to specify the name of the binary
fileops: fix invalid read
diff: fix warning
Merge pull request #1652 from yorah/fix/build-warnings

Fix/build warnings
util: git__memzero() tweaks

On Linux: fix a warning message related to the volatile qualifier (cast)
On Windows: use SecureZeroMemory()

On both, inline the call, so that no entry point can lead back to this "secure" memory zeroing.
cred: deploy git__memzero to clear memory holding a password
Merge pull request #1654 from yorah/memzero

Memzero stuffs
ref: free the last ref when cancelling git_branch_foreach()

Also fixed an assert typo on nulltoken's HEAD
Merge pull request #1655 from yorah/fix/ref-memleak

ref: free the last ref when cancelling git_branch_foreach()
branch: More obvious semantics in `foreach`
status access by index, providing more details to callers