Slight improvement to test_execution.py
Add get_output_name to DefaultToolAction.

Slightly simplfies default execute but more importantly will allow reuse of logic when naming dataset collections.
Allow running tools on multiple datasets simulatenously (backend+API).

Each data tool parameter can be specified via a similar named parameter but with the suffix |__multirun__. This second parameter variant should be a list of datasets - one job will be created for each such dataset.
Allow running tools on multiple datasets simulatenously (UI).

Update tool form. This commit needs work to ensure this only affects the tool_form.mako.
Parallel tool execution across dataset collections (UI).
Add tool meta parameter exception.
Parallel tool execution across dataset collections (backend).
WIP: Build dataset collections from dataset collection runs.