Rename some attributes of pypeline objects to better-suited names: * `TaskArgument.to_container_decl` -> `TaskArgument.declaration` * `PipelineNode.arguments` -> `PipelineNode.argument_declarations` * `PipelineNode.arguments_with_access` -> `PipelineNode.arguments`
Add infrastructure to pypeline to allow for pipes to provide custom invalidation, by implementing an `invalidate` function.