Set JobName with analysis name instead of description

I found out when trying to set the job names from something more legible that the `CommandLineFunction` trait overrides the description of the `QFunction` with it's command line. This makes it difficult to parse the logs for run times from programs, projects, etc from our cluster logs (a SLURM cluster). I would therefore like to propose the following change; that the jobname submitted to the cluster should be based on the analysis name, rather than the description, so that one can do something along these lines:

    case class MyAwesomeProgram extends CommandlineFunction {
        this.analysisName = "MyAwesomeProgram"
        def commandLine = "/my/path/program <etc>"
    }

This would then show up as "MyAwesomeProgram" in the job-queue, logs etc.

If I'm the only one who has found this frustrating I can implement these changes only in my own branch, but I'm sending this pull request to see if there is any general interest in this change.