It's ok to call `Save()` multiple times after property of `ViewModels.Preference` changed immediately. If we delay the saving operation 3 seconds after the property changed event, we reduce the times calling `Save`, but the issue metioned in #436 may still exists.
* remove unused namespace using
* remove the duplicated menu seperator between `Open in Merge Tool` and `Reveal in File Explorer`
* keep the same menu item orders both in changes and revision files
* support reset to parent revision for Added files too
* support reset to parent revision in Files tab
* support reset to parent revision in Changes - now supports Renamings too
now it behaves more like git-extensions
* rename `FirstParentFilterToggled` to `EnableFirstParentInHistories`
* remove `FirstParentFilterEnabled` from repo settings - it should not been saved
* move toggle button from repository toolbar to histories switcher
* tooltip translations
* new icon for `Icons.FirstParentFilter`
* extends commit graph to support `--first-parent` option
need help in two issues:
1. use better icon - I just reused the Filter icon
2. lines of merge commits are still rendered - need to skip them since they don't link to any commit when filter enabled. I didn't manage to solve by my own right now
Using issue tracker instead of built-in supported commit web link is based on the following reasons
* repo may have multiple remotes
* it is not good to open an context menu to choose which web to visit with multiple remotes
* some remote servers are not supported by this app
* input font name directly instead of a font picker because localized font family name is not supported by Avalonia
* fallback monospace font to default font
* remove unused code
* start background task only it is needed
* solve the problem that we can not use `ViewModels.Preference.Instance` until resource ready
* remove avatar sever settings