Fix visit_collection to handle NamedTuples
When a DoneAndNotDoneFutures (from wait()) is passed as a flow/task parameter,
visit_collection fails to reconstruct it because NamedTuples expect positional
args in __new__, not an iterable.
Use _make() to construct NamedTuples from iterables instead.
Simplify: only resolve env var templates in name, not full config
Address review feedback to only apply_values on the name key rather
than deep copying and resolving the entire deploy config.
Co-Authored-By: alex.s@prefect.io <ajstreed1@gmail.com>