Fix for issue #1285 

This patch uses Uri.EscapeDataString rather than HttpUtility.UrlEncode to not break ssh public keys as the latter doesn't encode + signs in the input string.