~ Move UI to new FileSyncDialog class;
~ Improve UI responsiveness during operation (closes#5005);
+ Add log verbosity option (also helps with UI response);
+ Add several filtering settings in new "extra options" panel (include/exlude patterns, symlinks, recursive, empty folders);
~ Exclude patterns ".*" and "System Volume*" by default (addresses #5213, #5106);
+ Sanity check file timestamps when using date comparison, future dates are invalid (addresses #5735);
~ Folders are no longer included in file counts (total/created/etc);
~ Ignore unreadable files/dirs (also enables NTFS permissions check);
~ Switch from QMutex to QReadWriteLock.
* Complete re-write of SyncProcess, now more robust, UI-independent, runs in own thread, large speed boost;
* Use file hash comparisons instead of byte-level compare with string methods (probable fixes for #4837 and #4848);
* New pre-sync options dialog with selectable folders and other settings (settings are remembered until app exit);
* Option to choose sync direction(s) (up/down/bi) and the order in which bi-directional sync runs;
* Option to choose file comparison mode (timestamp/hash/both) or force overwrite (for one-way sync);
* Option to set a maximum file size to copy;
* Option to do a test run w/out actually copying any files;
* Better reporting of progress, total counts (copied/updated/skipped), and errors, with color coding;
* Much more reliable to cancel long-running/hung copy process;
* ProgressWidget can now display rich-text in the text browser, added some new functions for usage;
* Misc. small layout tweaks to ProgressDialog and ProgressWidget to make them behave/look better;