Improved? (at least different) handling of library folder ids.

Move duplicated __decode_library_content_id between API controllers into UsesLibraryMixinItems._decode_library_content_id. Allow get_library_folder to take in F<id> or <id>.
Rework history.contents_iter to potentially support multiple types.
Rework history_contents API to allow room for multiple 'type's of history contents.

Only poorly named 'file' (default) is currently implemented, will use new flexibility to add 'collection' type. Room made in create, show, and index methods.
Dataset collections - model layer.

Mapping, model definition, database migration, and model unit tests to support database collections.
Dataset collections - infrastructure glue...

Adds an API and service layer for dataset collections.
Dataset collections - tool parameters.

Utilize dataset collections from tools.
Get rid of unused is_convertable nested function.
Introduce DatasetParamContext to simplify DatasetToolParameter...

This reduces code duplication related dataset_collectors now and abstracts out important functionality I would like to reuse in other ways downstream.
Rework logic related to computing selected datasets.

Allow dataset ids to be used. This will make implementing multi-running of tools possible without expanding values out to hdas. check_params will still be called on each permutation so this shouldn't result in security problems.
Refactor Tool.handle_input result to return list or pairs instead of odict.

This added generality of allowing multiple outputs with the same output name will allow handle_input to execute multiple jobs in subsequent changesets.
Allow running tools on multiple datasets simulatenously.

Like with workflows, but with tools.
Parallel tool execution across dataset collections (UI).
Rebase into multitools.
Rebase earlier.
Rebase earlier (multi-run).
Rebase into multitools commit.
Rebase into multitool commit.
Rebase into multi-tool commit.
Add tool meta parameter exception.
Parallel tool execution across dataset collections (backend).