First stage of the 'auto' type.
Works, but for now only for variable declarations, not return types
(entirely, most of the plumbing is done) or for variables declared in
foreach and sscanf.
Since the loop variables in foreach is really the most important
location, this is of somewhat limited use so far.
Commited for safekeeping.