refactor more engine specific parts of CLI and drivers and adding -D:key=value for changing the sparkconf of a driver