Allow multiple instances of the same template

This commit adds another optional attribute to the template
tag in the workflow document: if type is set, it overrides
the name of the template file loaded for a given template.
If type is not set, the templates work as before. This permits
the following:

<templates>
<template name="vip-one" type="virtual-ip">...</template>
<template name="vip-two" type="virtual-ip">...</template>
</templates>