Convert to string in shellescape

I was using a custom object to represent a remote file and got an exception in `shellescape`  about my object not having an empty? method. While it's not to much of a problem to do `.to_s` for a remote file object in a call to `Net::SCP::download!`, it seems nice to include support for other path objects in scp.