Add software version arguments to Dockerfile
This MR adds the ability for users to set a specific version of the compiled software. Currently, all components use the main branch, but sometimes you might want to compile the container with a different version, e.g. when testing or when the main branch breaks.