Merged these into one package, there was already a lot of coupling and this allowed for better control over both of them. This was to account for the scheduler and our need to have some more control over the executable's runner file from the executable package.
Executable Public Methods
Changed NewExecutable method to take a *FileSettings parameter to so we can have custom file settings during the creation of an executable.
All _test.go files
Moved some generic testing methods around, and added more tests to the package.
handler.go -> file_handler.go
Renamed handler.go to file_handler.go
Language specific files
Renamed all language specific runner files from language_runner.go -> runner_language.go, to keep them together in the file view of the directory.
Created file types.go
This holds all the custom data structures and type renaming for the package.
Added FileNamePrefix to FileSettings struct. As the comment says this is to help mitigate a data race if you want to run multiple executables in parallel.
Handler/Executable packages
Executable Public Methods
All _test.go files
handler.go -> file_handler.go
Language specific files
Created file types.go