Merged revision(s) r28207, r28214, r28215, r28216, r28217, r28218, r28219 from trunk:
* Patch from Evgeny Kotkov: his patch fixes two issues that may prevent the "fetching tree conflict details" progress dialog from displaying properly. The first part of the issue is that initializing a CProgressDlg within the CSVNProgressDlg::ResolvePostOperationConflicts() method requires COM to be initialized, whereas its calling site currently doesn't do that. The second part of the issue is that within the same method, the ShowModal() method is called with the result of GetExplorerHWND() passed as the parent window handle. This affects the modality of the progress dialog, and this part of the issue can be fixed by passing m_hWnd as the parent window handle.
* use <functional> header, the <xfunctional> header got removed in the latest VS2017 update.
* Clear the error message if subsequent update checks succeed.
* properly convert the the shelve names from UTF8, not ANSI.
* update to Scintilla 4.0.5
* Apply the background colors patch
* patch from email@example.com: When the registry key "HKCU\Software\TortoiseSVN\CommitReopen" is set to "1", then the Copy dialog will reopen in case the commit failed. If this happens and the repository contains externals, then the list of externals will display all externals multiple times, as the externals vector is not getting cleared before it's being repopulated. This change fixes that by first clearing the externals vector.