Handle credential cache collections for sources and targets

This includes changes to handle credential cache collections (RT#7728) and to use the default_ccache_name setting to decide where the target credential cache will be stored.  If the target supports switching, we try to reuse a subsidiary if one which matches our creds already exists.  If we find one of those, we make sure to not remove it when the exec command finishes.