Split platform-specific parts of distro.ml into distro_impls.ml