Emit decldef for C variables even when there's just a tentative definition

The issue is that getDefinition() will return 0 for things in C at
file scope like

        /* In a header */
	extern int i;

        /* In a C (not C++) file */
	int i;           /* This isn't a definition --- it's tentative */

In C++ that is a definition. While technically it's not a definition,
matching up variable references seems to work better in C code that
I've seen if we assume that such tentative definitions are in fact
definitions, as they are in C++.
Make var names lowerCamelCase for consistency with the rest of the project.
Merge treatment of tentative C definitions as regular definitions. Close #144.