jobfile: Add support for dictionaries as jobfile options. If the same dictionary option is seen in several options, those dictionaries are composed.  If you define the same dictionary key in multiple options, the system flags an error. Also, clean up the jobfile code so that it is more debuggable.
jobfile: Add support for dictionaries as jobfile options.
If the same dictionary option is seen in several options, those
dictionaries are composed.  If you define the same dictionary key in
multiple options, the system flags an error.
Also, clean up the jobfile code so that it is more debuggable.

cancro7/gem5,TUD-OS/gem5-dtu,SanchayanMaity/gem5,austinharris/gem5-riscv,Weil0ng/gem5,rallylee/gem5,yb-kim/gemV,zlfben/gem5,kaiyuanl/gem5,rjschof/gem5,TUD-OS/gem5-dtu,TUD-OS/gem5-dtu,zlfben/gem5,Weil0ng/gem5,rjschof/gem5,joerocklin/gem5,gem5/gem5,Weil0ng/gem5,zlfben/gem5,yb-kim/gemV,markoshorro/gem5,HwisooSo/gemV-update,powerjg/gem5-ci-test,kaiyuanl/gem5,qizenguf/MLC-STT,aclifton/cpeg853-gem5,zlfben/gem5,rjschof/gem5,austinharris/gem5-riscv,cancro7/gem5,HwisooSo/gemV-update,KuroeKurose/gem5,HwisooSo/gemV-update,HwisooSo/gemV-update,rallylee/gem5,kaiyuanl/gem5,qizenguf/MLC-STT,KuroeKurose/gem5,sobercoder/gem5,austinharris/gem5-riscv,powerjg/gem5-ci-test,samueldotj/TeeRISC-Simulator,sobercoder/gem5,KuroeKurose/gem5,yb-kim/gemV,samueldotj/TeeRISC-Simulator,joerocklin/gem5,markoshorro/gem5,briancoutinho0905/2dsampling,SanchayanMaity/gem5,gedare/gem5,joerocklin/gem5,gedare/gem5,Weil0ng/gem5,austinharris/gem5-riscv,Weil0ng/gem5,aclifton/cpeg853-gem5,kaiyuanl/gem5,briancoutinho0905/2dsampling,gedare/gem5,markoshorro/gem5,samueldotj/TeeRISC-Simulator,gedare/gem5,joerocklin/gem5,kaiyuanl/gem5,sobercoder/gem5,zlfben/gem5,yb-kim/gemV,briancoutinho0905/2dsampling,austinharris/gem5-riscv,samueldotj/TeeRISC-Simulator,rjschof/gem5,KuroeKurose/gem5,briancoutinho0905/2dsampling,gem5/gem5,rallylee/gem5,gem5/gem5,yb-kim/gemV,powerjg/gem5-ci-test,qizenguf/MLC-STT,qizenguf/MLC-STT,kaiyuanl/gem5,TUD-OS/gem5-dtu,briancoutinho0905/2dsampling,rallylee/gem5,KuroeKurose/gem5,powerjg/gem5-ci-test,SanchayanMaity/gem5,sobercoder/gem5,Weil0ng/gem5,yb-kim/gemV,gem5/gem5,aclifton/cpeg853-gem5,markoshorro/gem5,samueldotj/TeeRISC-Simulator,powerjg/gem5-ci-test,powerjg/gem5-ci-test,TUD-OS/gem5-dtu,aclifton/cpeg853-gem5,austinharris/gem5-riscv,joerocklin/gem5,rallylee/gem5,cancro7/gem5,qizenguf/MLC-STT,briancoutinho0905/2dsampling,rjschof/gem5,markoshorro/gem5,cancro7/gem5,yb-kim/gemV,cancro7/gem5,aclifton/cpeg853-gem5,gedare/gem5,SanchayanMaity/gem5,markoshorro/gem5,SanchayanMaity/gem5,samueldotj/TeeRISC-Simulator,KuroeKurose/gem5,gem5/gem5,aclifton/cpeg853-gem5,zlfben/gem5,rallylee/gem5,TUD-OS/gem5-dtu,SanchayanMaity/gem5,gedare/gem5,briancoutinho0905/2dsampling,rallylee/gem5,TUD-OS/gem5-dtu,HwisooSo/gemV-update,sobercoder/gem5,qizenguf/MLC-STT,gedare/gem5,yb-kim/gemV,HwisooSo/gemV-update,sobercoder/gem5,austinharris/gem5-riscv,Weil0ng/gem5,cancro7/gem5,sobercoder/gem5,HwisooSo/gemV-update,rjschof/gem5,zlfben/gem5,kaiyuanl/gem5,SanchayanMaity/gem5,KuroeKurose/gem5,gem5/gem5,markoshorro/gem5,gem5/gem5,joerocklin/gem5,joerocklin/gem5,aclifton/cpeg853-gem5,powerjg/gem5-ci-test,joerocklin/gem5,samueldotj/TeeRISC-Simulator,rjschof/gem5,qizenguf/MLC-STT,cancro7/gem5