Use consistent grammar to parse subrule arguments.

This fixes the problem where <subrule(...)> could take any kind of arguments,
while <subrule: ...> only accepted a list of strings (and didn't interpolate
variables in double-quoted strings).

Closes #105.