core: patterned pool names support

This patch contains the backend part of patterned pool names support.
the user can specify inside a pool name a mask for the indexes that are
included in the generated names of the VMs in the pool. that way, the
user can determine a fixed-length to the generated VM names.

The mask is a sequence of question-marks. the mask will be replaced with
a zero-padded number in the length of the mask corredponding to the
index of the VM in the pool, in the generate VM names.
for example, for the patterned pool name 'my???pool', the generated
names of the VMs will be:
my01pool, my02pool, ... , my999pool (it's the user's responsibility not
to set too many VMs in pool).

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