Port WinRM Changes from sneal/packer for inclusion in a WinRM Communicator for Packer

As per Packer issue mitchellh/packer#451, this PR includes:

* Port of @sneal's WinRM Communicator changes from https://github.com/sneal/packer, including use of an elevated shell (as per Vagrant behaviour), file/directory uploads and API update to match Packer Communicator interface.
* CI setup using Travis-CI with Coveralls support (will need a new encrypted token when transferred across repos)
* Note the WinRM library is still pointing to my fork. Once @masterzen accepts https://github.com/masterzen/winrm/pull/14 this can be updated.