Add a string template expansion facility
Add a string template expansion facility

This commit adds a function that expands template strings by replacing
placeholders, with a fairly flexible method of passing arguments to
the placeholder replacement function and filtering the resulting
output through a filter function that also takes an argument.

This template expansion will be used to allow more flexible
declarative initialization of field value and substitution during
form submission.

pack-it-forms/pack-it-forms,pack-it-forms/pack-it-forms