core: always build tun.c and gate TUN support by headers
Always build tun.c and move platform-specific checks into the implementation.
Guard the TUN-specific code paths based on the availability of linux/if_tun.h detected at configure time. If TUN support is not available, osmo_tundev_open() returns -ENOTSUP.
This keeps the public TUN API available while disabling unsupported functionality in a capability-based way.