frontend: Utilize Builders in VmListModels

* Refactoring of duplicate and very error-prone mapping of VM/Template
  fields in UserPortalListModel, TemplateListModel, PoolListModel,
  VmListModel and VmSnapshotListModel.

* Utilizing the Builder infrastructure with minor additions
  the mappings were extractend into encapsulated builder classes either
  of type UnitVmModel -> VmBase or VmBase -> VmBase (depending on whether
  we are mapping properties from UnitVmModel or an existing VM)

* These builders form a composition hierarchy at root of which sits the
  CoreUnitToVmBuilder. When adding new VmBase fields one should strive to
  add the appropriate mapping to only one place - that is to to most
  general builder. In most cases this will precisely be the root
  CoreUnitToVmBuilder. This builder is also used in PoolListModel,
  so if it is not desirable to map this new field for pool VMs
  yout need to add it to one some builder that is composed of
  CoreUnitToVmBuilder.  Most notable examples are:
  - CommonUnitToVmBaseBuilder
  - FullUnitToVmBaseBuilder
  where Common contains mappings to be performed in onNewTemplate
  methods and Full contains Common + all remainging mappings used
  in onSave *ListModel methods.

* General principle is that there should be at most one reference to
  a Vm setter in UiCommonWeb and the mapping from model to entity should be
  encapsulated in an appropriate builder. (If there is more complex logic
  to that mapping a separate simple builder derived from BaseSyncBuilder
  encapsulating that logic would be appropriate).

Change-Id: I7cbd0f8c79ae13dd368a7542262397168c363f57
Signed-off-by: Martin Betak <mbetak@redhat.com>