Adding support to use bitvise ssh server as an alternative ssh provider

on windows.

The use-case in wishing to use bitvise ssh is that cygwin only emulates
a windows shell and bypasses some of the authentication mechanisms [1][2][3].
The impact of this is that certain commands/powershell scripts (such as
installing a windows feature) will fail. Using bitvise ssh server seems
to resolve this issue.

This change implements the host configuration option of communicator
(e.g. host['communicator']) which allows you to conditionally select the
appropriate commands. By implementing it this way it paves the way for
future communication providers such as winrm.

[1] https://cygwin.com/ml/cygwin/2004-09/msg00087.html
[2] https://cygwin.com/ml/cygwin/2006-06/msg00862.html
[3] http://thread.gmane.org/gmane.os.cygwin/128472
There are likely to be other changes in the other host/windows/ files similar to this