Introduce a maximum time limit a migration may take

There are cases where migrations can take too much time. To set a finite
end to this we're now introducing a new configuration value
migration_max_time_per_gib_mem which defined the maximum time
the migration may take per GiB memory. The default value of 64 seconds
is calculated by 50% of current default value for the maximum bandwidth.
(1 GiB needs 32 seconds on the maximum bandwidth)

When migration_max_time_per_gib_mem is set to `0` the functionality
is disabled.

This time tracking is now handled in the MigrationMonitorThread on the
source host side of the migration.

Change-Id: Ifd2f76b9334fcb7d2db24c081cccae15e8fd0b0c
Bug-Url: https://bugzilla.redhat.com/1069731
Signed-off-by: Vinzenz Feenstra <vfeenstr@redhat.com>
Reviewed-on: http://gerrit.ovirt.org/21708
Reviewed-by: Dan Kenigsberg <danken@redhat.com>
Reviewed-by: Tomáš Došek <tdosek@redhat.com>
Reviewed-on: http://gerrit.ovirt.org/25022
Reviewed-by: Yaniv Bronhaim <ybronhei@redhat.com>