Remove regex usage from places that don't need it

In revwalk, we are doing a very simple check to see if a string
contains wildcard characters, so a full regular expression match
is not needed.

In remote listing, now that we have git_config_foreach_match with
full regular expression matching, we can take advantage of that
and eliminate the regex here, replacing it with much simpler string
manipulation.
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
'del' instead of 'delete' for the poor C++ users
Merge pull request #1867 from ethomson/remove_not_delete

'del' instead of 'delete' for the poor C++ users
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 #1864 from libgit2/minimize-regex-usage

Minimize regex usage
Merge pull request #1865 from arrbee/various-cleanups

Various warning cleanup and minor fixes
Allow redirects to use same host
Properly parse urls that include protocol://
Ignore files that disappear while iterating

On occasion, files can disappear while we're iterating the
filesystem, between calls to readdir and stat.  Let's pretend
those didn't exist in the first place.
Merge pull request #1869 from ethomson/fs_iterator_race_2

Ignore files that disappear while iterating
Disconnect path string to preserve after redirect

The subtransport path was relying on pointing to data owned by
the remote which meant that after a redirect, the updated path
was getting lost for future requests.  This updates the http
transport to strdup the path and maintain its own lifetime.

This also pulls responsibility for parsing the URL back into the
http transport and isolates the functions that parse and free that
connection data so that they can be reused between the initial
parsing and the redirect parsing.
Prevent HTTPS to HTTP redirect
Merge pull request #1871 from libgit2/cross-protocol-redirects-alt

Alternative fix for cross protocol redirects
Make tests pass if XDG config exists
Merge pull request #1872 from libgit2/config-isolate-xdg

Make tests pass if XDG config exists