enabled sftp private key support (instead of password)

this is the code to make #9182 work
Note: `!!foo` is used in Javascript to enforce type conversion. So if `foo` is a string, `!foo` converts it to a boolean (false), and `!!foo` converts it back.

Trouble here is that PHP will consider the strings `0` or `false` as being a boolean false, so better use `empty()` instead. (we had weird issues related to that in the past)