core: add support for tunnel migration

with 'tunnel migration' the migration process is using
libvirt-to-libvirt communication, which should be safer, but may have
overhead on the host' cpu.

the feature is supported only from 3.3 version clusters.
this patch allow the user to set default behaviour on the cluster,
(which by default is false),
and override the cluster value per vm.
if supported, engine will send 'tunneled=true/false' on migrate verb.

Change-Id: I6fa684df7376f8470fe729d590ce0e63d39c4d1e
Signed-off-by: Omer Frenkel <ofrenkel@redhat.com>