Use a single winrm shell for uploads

This leverages some of the lower level methods exposed by the winrm library to use a single session for all commands in an upload. Although winrm still has to make multiple http requests. It only has t od oauth negotiation once and I believe it can reuse the same guest conhost.exe process on each call.

I witnessed a 3x perf boost 30 minutes to 10 minutes on a cookbook that included the dependencies of the windows and dsc cookbooks.

I think this is just one in several perf improvements we can make and I will try to keep them coming.