Modify UrlEscape() to handle strings longer than 32766 characters

Uri.EscapeDataString() only supports 32,766 character inputs.  This change breaks larger inputs into smaller chunks that EscapeDataString can handle.