fs: consistently use fsbridge for {i,o}fstream
fs: add missing <cassert> include
This is needed to prevent compilation failures once boost is removed,
however is still correct to include now, and reduces the diff in #20744.<string> is extracted from the defines because it is used for Windows
and non-Windows code, i.e get_filesystem_error_message().
fs: consistently use fsbridge for fopen()
This is a backport of core#24167
Depends on D11984
Notes:
- the psbtoperationsdialog.cpp and fuzz.cpp changes are not applicable due to missing backports
- the walletframe.cpp changes are in walletview.cpp because of missing backports (core-gui#399)