Migrate redirect URL handling to common utility
Refactor URL handling to use library call
Deploy gitno_connection_data into transport
Deploy gitno_connection_data into transport (winhttp)

...and have that call manage replaced memory in the output structure.
Adjust to new utility signature
Make sure utility doesn't leak memory
WHOOPS
Tighten up url-connection utility
Never consider submodules for stashing
Test that submodules don't affect stashing
Initial Implementation of progress reports during push

This adds the basics of progress reporting during push. While progress
for all aspects of a push operation are not reported with this change,
it lays the foundation to add these later. Push progress reporting
can be improved in the future - and consumers of the API should
just get more accurate information at that point.

The main areas where this is lacking are:

1) packbuilding progress: does not report progress during deltafication,
   as this involves coordinating progress from multiple threads.

2) network progress: reports progress as objects and bytes are going
   to be written to the subtransport (instead of as client gets
   confirmation that they have been received by the server) and leaves
   out some of the bytes that are transfered as part of the push protocol.
   Basically, this reports the pack bytes that are written to the
   subtransport. It does not report the bytes sent on the wire that
   are received by the server. This should be a good estimate of
   progress (and an improvement over no progress).
Ensure submodule repos and indices are freed

...before the helper's cleanup method tries to delete their files.
Merge pull request #1881 from libgit2/ignore-submodules-in-stash

Never consider submodules for stashing
Merge pull request #1412 from jamill/push_progress

Initial Implementation of progress reports during push
Merge pull request #1879 from libgit2/redir-refactor

Redir refactor