Don't emit "type"s for declarations, only definitions

 Previously code like:
	struct Foo;
	struct Foo;
	struct Foo {};
would emit one "type" and one "decldef" for each line.  This could
result in "Jump to Definition" going to the wrong place.  Now this code
results in one "decldef" for each of the first two lines and one "type"
for the last line.