Problem: Bumping the libmultiprocess subtree in Bitcoin Core to current master breaks the build with -Werror. GCC reports SocketError as an unused const variable in every file that includes mp/util.h without using it (-Wunused-const-variable, enabled by bitcoin/bitcoin#36275; CI failure), and the #if KJ_NO_EXCEPTIONS check added in #364 fails -Wundef when the macro is not defined.
Solution: Make SocketError an inline constexpr variable, the same change Bitcoin Core made to its own SocketError in bitcoin/bitcoin#35852, and check defined(KJ_NO_EXCEPTIONS) before testing its value. Also enable both warnings in CI here (-Wunused-const-variable in the GCC configs, -Wundef in default and llvm) so these problems are caught before a subtree update. Details are in the commit messages.