1059809 Improve attach and remove performance add progress bar

Fix places where we could throw exceptions from the progress bar

If execution ended right away, it would take place before the
progress bar started, so the bar would continue forever. Now
we start the bar before spinning off threads.

If the bar was manually closed, pulse would still try to run
and cause a traceback.  Checking if the bar is still there
before attempting to pulse.  If it is not, the loop will
end.

Fix problems that arise by closing progress bar windows

Also use the same progress window for attaching subscriptions
and updating subscriptions.  The progress pulse is more
continuous this way
1059809: Cache pool types to avoid unnecessary api calls
added testing for the pooltype cache