oop: Use a single instance of IOProcess per SD

Next step after switching from RFH to IOPROC is to
use a single IOProcess instance for each SD.

Currently only a single IOProcess instance is used
for all SDs.

To avoid load on the system by holding many unused
IOProcesses we will maintain dictionary:
KEY - domainID, VALUE - (timestamp, IOPROC)
When IOProc for domainID is used we will renew the
timestamp, or delete the item from dictionary

We will also maintain another dictionary:
KEY - domainID, VALUE - IOPROC weakref,
that will allow us to check if IOPROC obj is
still alive or needs to be recreated.

Change-Id: I383fe617ee4ce22de368ba54f980887d70ff37c5
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1126206
Signed-off-by: Yeela Kaplan <ykaplan@redhat.com>
Reviewed-on: http://gerrit.ovirt.org/31501
Reviewed-by: Dima Kuznetsov <dkuznets@redhat.com>
Reviewed-by: Saggi Mizrahi <smizrahi@redhat.com>