So far the backend libraries' include paths were relative within this
repository. This means the header files could not be used at their
installed location.
This change replaces them with "<>" includes to fix that problem and adds
a new include directory so building everything at once still works.
With this change it should be easier to actually split some parts into
another repository if this one would become too big.
See the commit message of the corresponding commit in c++utilities
(9fb3bbe179698fb10339d4911b98531b0847cfa1) and also the related commit in
reflective-rapidjson (5c49a438ade5ae4253ae978e3a22cf88bd7cb2e2).
because notifications have nothing to do with the status and it should not
make a difference since the status would not change. The UI is supposed to
rely only on newNotification().
The following uses of QCC1/PlasmaComponents2 remain:
```
…/DetailView.qml:import org.kde.plasma.components 2.0 as PlasmaComponents // for Menu and MenuItem
…/DevicesPage.qml:import org.kde.plasma.components 2.0 as PlasmaComponents // for Menu and MenuItem
…/DirectoriesPage.qml:import org.kde.plasma.components 2.0 as PlasmaComponents // for Menu and MenuItem
…/DownloadsPage.qml:import org.kde.plasma.components 2.0 as PlasmaComponents // for Menu and MenuItem
…/FullRepresentation.qml:import org.kde.plasma.components 2.0 as PlasmaComponents // for vertical TabBar
…/RecentChangesPage.qml:import org.kde.plasma.components 2.0 as PlasmaComponents // for Menu and MenuItem
…/TopLevelView.qml:import org.kde.plasma.components 2.0 as PlasmaComponents // for Highlight and DialogStatus.Closed (used with Menu and MenuItem)
```
* Use flags from CMake's variables (initialized from environment variables)
including build type specific variables
* Consider LDFLAGS as well; there's actually linking going on¹
¹Otherwise Go's build system wouldn't run into this error
```
# github.com/DataDog/zstd
/usr/lib/gcc/i686-w64-mingw32/10.2.0/../../../../i686-w64-mingw32/bin/ld: $WORK/b259/_x008.o:entropy_common.c:(.text+0xaa): undefined reference to `__memcpy_chk'
/usr/lib/gcc/i686-w64-mingw32/10.2.0/../../../../i686-w64-mingw32/bin/ld: $WORK/b259/_x033.o:zstd_v01.c:(.text+0x1b84): undefined reference to `__memcpy_chk'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
```
which is caused by LDFLAGS being inconsistent with CFLAGS.
* Pass C/C++ flags from CMake to CGo
* Allow overriding flags passed via "-ldflags"
* Add default GOFLAGS and add CMake variable to override GOFLAGS
* `-trimpath`: Prevent embedding full paths
* `-modcacherw`: Ensure that go modules creates a write-able path
* `-mod=readonly`: Ensure the module files are not updated in any go actions
* Use the name as sorting criteria and fall back to the ID if there's no
name
* Use new SyncthingSortFilterDirectoryModel also for Plasmoid's filtering
* See https://github.com/Martchus/syncthingtray/issues/75