Clean up newly introduced warnings

The attempt to "clean up warnings" seems to have introduced some
new warnings on compliant compilers.  This fixes those in a way
that I suspect will also be okay for the non-compliant compilers.

Also this fixes what appears to be an extra semicolon in the
repo initialization template dir handling (and as part of that
fix, handles the case where an error occurs correctly).
Fix warnings on Windows 64-bit build
Clean up unnecessary git_buf_printf calls

This replaces some git_buf_printf calls with simple calls to
git_buf_put instead.  Also, it fixes a missing va_end inside
the git_buf_vprintf implementation.
Fix warnings in Makefile.embed
Fix incorrect return code in crlf filter

The git_buf_text_gather_stats call returns a boolean indicating if
the file looks like binary data.  That shouldn't be an error; it
should be used to skip CRLF processing though.
Fix up filebuf tests a bit
Merge pull request #1865 from arrbee/various-cleanups

Various warning cleanup and minor fixes