First code for Positron::DataTemplate

Turns out enough code to pass test 00 also was enough to pass
test 01 :-P
Working construct: text replacement

Both '$this' and '{$that} and {$other}' work.
Template processing recurses into arrays and maps.

And by "maps" I mean "hashes" or "dictionaries".
List handling: construct '@'.

Force list context on all '_process' runs - 'process' can choose
whether they want the first element (scalar context) or all
elements (list context).
Direct inclusion constructs: '&' (and ',')

Also: fast abort if no template is given. This will always generate
an 'undef', even in list context, since it is equal to passing
'undef' as the template.

This behaviour may change in the future.
Added '%' construct for hashes.
Next construct: '?' for if-then-else
Next construct: '?' for hashes, for switch structures.
More tests to test processing under constructs

Specifically, the body-clauses of conditionals and switches were
not correctly evaluated.
First half of comments: '#' construct.