Fix typedefs that were incorrectly stored during parsing.

The code for handling "typedef" specifiers that were at strange
positions was accidentally placing the typedef in the list of
variables for the class/namespace, instead of placing it in the
list of typedefs.  An example of a "typedef in a strange position"
is "int typedef myint;".  Code like this is exceedingly rare, but
it is valid C++ and does not even generate a warning.

Change-Id: I22889952bb7d083cd86ac855715a5bae83627c58
Merge topic 'misplaced-typedef' into master

41f1dedb Fix typedefs that were incorrectly stored during parsing.