Support nested `do` chains, remove implicit help.

Should support all kinds of nested vectors for the `do` task, as specified in #1359.

`:prep-task` hasn't been handled, because it already is a vector of tasks, which can be vectors themselves (see the sample project for an example). So unless I've read #1359 wrongly, there shouldn't be a need to modify that one.