domainMonitor: Stop domain monitors concurrently

Deactivating a host connected to lot of storage domains takes too much
time. This is caused by stopping each domain monitor thread and waiting
until the thread exit before stopping the next one.

If you stop vdsm when connected to many storage domains, vdsm may be
killed before all domains monitors are stopped. This may leave
unreleased host ids held by sanlock, which prevent stooping of sanlock,
and requires a reboot to upgrade the host.

This patch changes stopMonitoring() to accept an iteratable of sdUUIDs
instead of single value. When stopping multiple monitor threads, instead
of stopping each thread and waiting until the thread exit, we first stop
all threads, and then wait until all of them exit.

I tested this patch on Fedora 19 machine connected to 30 storage
domains. The time to stop all monitors dropped from 67 to 10 seconds.
Profiling show that most of the time is spent waiting for sanlock to
release the host id.

Change-Id: Ia12f137f1ed055316767e1a9384d8982720bc564
Signed-off-by: Nir Soffer <nsoffer@redhat.com>
Reviewed-on: http://gerrit.ovirt.org/27573
Reviewed-by: Federico Simoncelli <fsimonce@redhat.com>