Set a custom pool for a template

Allow a user to specify the storage pool for a template.
V4 -> V5 Fix indent problems.
V3 -> V4 Rebase.
         Adjust css styles.
V2 -> V3 Updated the template html so the selection list is not hidden.
         Updated the CSS to avoid scroll bars in the dialog.
         Removed CRs from the patch so it will apply with git am.
V1 -> V2 Update the property name and value of storage pool in template.
Depends on [PATCHv2 0/8] Template storage customization for backend support.

Signed-off-by: Xin Ding <xinding@linux.vnet.ibm.com>
Signed-off-by: Adam King <rak@linux.vnet.ibm.com>
Customise template storage: Update API.md

Add 'storagepool' field to template create.

Signed-off-by: Royce Lv <lvroyce@linux.vnet.ibm.com>
Customise template storage: Report 'storagepool' info in controller

Storagepool info was not reported,
add it in controller.

Signed-off-by: Royce Lv <lvroyce@linux.vnet.ibm.com>
mockmodel: generate customised temporary template when create vm

Aggregate all overrides of vm when creation
in the temporary template to avoid choose from vm params and
template configuration.

Signed-off-by: Royce Lv <lvroyce@linux.vnet.ibm.com>
model: aggregate vm config customization when creating

Aggregate them to the temporary created template instead of
choose from vm create params and template definition.

Signed-off-by: Royce Lv <lvroyce@linux.vnet.ibm.com>
test storage pool not changed after vm customization

Vm customization of storage pool should not affect original
template configuration. Validate this case.

Signed-off-by: Royce Lv <lvroyce@linux.vnet.ibm.com>
pre-create validate: Add iso/storage/network availabilty check

Before create, we want to make sure iso and other infrastructure
are ready for vm to use.
This patch wrapped template information check and iso check
to class LibvirtVMTemplate, so that all check can be done
by template itself.

Signed-off-by: Royce Lv <lvroyce@linux.vnet.ibm.com>
pre-create validate: validate for mockmodel vm create

validate storage only for mockmodel, as network and iso
cannot be validated for vmtemplate.

Signed-off-by: Royce Lv <lvroyce@linux.vnet.ibm.com>
Add testcase of template storagepool customise

Test customization of template storage pool works,
and validation inactive storagepool and non-existent pool
create vm fails.

Signed-off-by: Royce Lv <lvroyce@linux.vnet.ibm.com>