Expanding named to support positional assignment

Expanding the named keyword to support adding a named element in
a specific order or from a specific position in the input data.
For example if you wanted to assign the second column of input to
the named paramter :b you would assign it as follows.

  t.named :b, :position => 2

Which would then result in a template of [nil, :b]