This removes all operating system specific code from the main battery file into their own source files. CMake will add the correct implementation automatically.