First steps to supporting templates

Had to create a goofy, perhaps regrettable in the future "floater"
feature for the Context, which allows a Node to be created and then
"landed" in its real home later. This is so the parser can work out
template parameter lists, use that info in the return type, and then
make the parameter list a child of the function overload. The only
alternative was to rewrite the parser to use a real lexer, which
is something I need to do eventually, but for now I didn't feel like
doing months of work to get past this hurdle.

For now all that happens is the parser parses the template list and adds
some nodes, but nothing is generated and not much syntax is supported.