core: add default value for custom properties

For some flows the custom properties of VM were not initialized, thus
they could be null. When the VM was edited from the UI, if no custom
properties were set, they were set to empty string. This inconsistency
caused false alarms on checks whether the custom properties were changed
- because a transition from null to empty string was detected as change.

This patch defines empty string as a default value for the custom
properties. It is safe since in all its usages, we check whether the
custom properties is null or empty string.

Change-Id: I74cc88b9bef6ace4a608c6d15f27b9c8f678564d
Signed-off-by: Arik Hadas <ahadas@redhat.com>