core: fix support for pattern-based name for pool

Adding the validation group 'CreateEntity' to UpdateVmPoolWithVmsCommand
caused a regression that prevented to set pattern-based name for pool.
The problem was that the validation which is declared on
VmStatic#getName was checked also for pools and it doesn't accept name
that contains '?'.

The solution is to introduce 4 additional validation groups for create
& update VMs and for create & update Templates, which extend the
'CreateEntity' and 'CreateUpdate' groups, and to change the groups of
the validation on VmStatic#getName to these instead of 'CreateEntity'
and 'CreateUpdate'.

This change is safe because every validation that was checked before
will still be checked since the new groups extend the previous ones,
except for the validation on VmStatic#getName which will be checked only
for commands that add or update VM or Template.

Change-Id: I5bfa9fb37d464dd0e77b0bc206c1804713ed9575
Bug-Url: https://bugzilla.redhat.com/1078875
Signed-off-by: Arik Hadas <ahadas@redhat.com>