non-ascii: We prefer 'CURLcode result'

This also fixes a variable shadowing issue when HAVE_ICONV is defined
as rc was declared for the result code of libiconv based functions.
non-ascii: Reduce variable scope

As 'result' isn't used out side the conversion callback code and
previously caused variable shadowing in the libiconv based code.
non-ascii: Prefer while loop rather than a do loop

This also removes the need to check that the 'form' argument is valid.
non-ascii: Reduce variable usage

Removed 'next' variable in Curl_convert_form(). Rather than setting it
from 'form->next' and using that to set 'form' after the conversion
just use 'form = form->next' instead.
tests: support spaces in paths to SSH, SSHD and SFTP binaries

First patch to enable Windows support using Cygwin-based OpenSSH.
tests: use Cygwin-style paths in SSH, SSHD and SFTP config files

Second patch to enable Windows support using Cygwin-based OpenSSH.

Tested with CopSSH 5.0.0 free edition using an msys shell on Windows 7.