3.8.0-keyboard shortcuts on task-3819
Merge branch 'master' into 3.8.0-keyboard-shortcuts-on-task-3819
keyboad shorcuts for published answer when it will call by mcam request.
Made a change to latest version where I was done some manual.
Merge branch '3.8.0-keyboard-shortcuts-on-task-3819'
Version sync
Added new feature which will send chat history to customer when chat session is finished.
Adding the area's replyToEmailAddress to send outgoing chat history email's reply to address
Fix for XSS vulnerability

ClearIT informed us about a video from customer ComHem that showed
how a carefully constructed message which includes a as of right
now unknown Javascript file that allowed the customer from the External.app chat
see the agents username and password.

The code now escapes a few characters with HTML entity encoding to prevent this sort of attack.
The code escapes the following characters

& into &amp;
< into &lt;
> into &gt;
" into &quot;
' into &#x27;
/ into &#x2F;

This has been done according to the recommendation found here:
https://www.owasp.org/index.php/XSS_%28Cross_Site_Scripting%29_Prevention_Cheat_Sheet
Forgot to add the toaddress while sending the chat session to customer.

It  will use the area replytoAddress as a from address.
Fix problem with links not being clickable for the agent

Because of the code that has been added to convert certain characters
to their HTML entities (/ and &) that also changed links (which start with http://, https://, ftp://)
which meant the code that converts links to <a>'s didn't find any links.

Solve this by converting / and & in links to ___SLASH___ and ___AMPERSAND___.
Then the special characters are converted to HTML entities.
Then ___SLASH___ and ___AMPERSAND___ are converted back to their characters.
And after that links are converted to <a>'s.
Add more protection against XSS

Everything* that comes from user input and is displayed to the agent
now goes through the _formatBody() function.

*Except Workflow.ChatSession.externalData
Fix problem with HTML entities not displaying correctly

Some unsafe characters are converted to HTML entities.
The last character to be converted to a HTML entity was &.
That meant that all other HTML entities such as &gt; had their & converted to &amp;
which meant they didn't display the HTML entity they should have.

Solve this by converting & to an HTML entity last.
Change the visualization when there is no shortkeys in chat published answer search result.
FS#3906 UTC time for timestamp

replaced calls to GMTnow() with now()