make execute spawn options configurable

i'm working on a workshopper where given `data-plumber verify foo.json` workshopper needs to run `gasket --config foo.json`

currently `workshopper-exercise/execute` is hardcoded to run `node [this.solution] [this.solutionArgs ...]` but this PR makes the command configurable via either a new `exec` option to change `node` to whatever you want:

```
execute(exercise, {exec: path.resolve(__dirname, '..', '..', 'node_modules', 'gasket', 'bin.js')})
```

or via overriding `exercise.setup` and having it return a custom `.solutionCommand` or `.submissionCommand`