compare found #members, check ArchType entry valid

some additions, it's now broken because I'm expecting the count of members in the upstream struct to be accurate, and it is not.  Thus, a lot of structs kick out messages like expecting 7 members, found 8.  The upstream scan part does not handle multiple members on one like like "float x,y" (that counts as one, not two, at the moment), and function pointers are not counted - function pointers being the main cause of problems with this, that's kind of a fatal problem.