Generalize arg template patterns for translators
Generalize arg template patterns for translators

An argument template pattern can now be any term containing template
names such as '$1', '$errorf' and so on.

Previously, it could only be a list of term, either element in the list
being either a name such as '$1', or a term. Names inside terms were not
considered.

Now, names can occur anywhere in terms, so now, for example this list of
terms is expanded appropriately:

  ['$user_data', ['$1', '$2', a, 2]]

The entire argumnent template is still a list of terms though (a list of
arguments).

mmmries/gpb