Enable Rust tag group names
Remove stray whitespace change
Rust trait definition syntax was wrong in the comment
Fix the comment for in rust.c parseStructOrEnum
Rename the 'tag_type' tag group name to be 'Typedefs / Enums' for Rust
Rust: No need to copy the name of the trait when parsing it
Rust: No need to copy the name of the module when parsing it
Rust: No need to copy the name of the struct/enum when parsing it
Rust: If we find a malformed field, do not give up on parsing the entire struct/enum but skip to the next field candidate
Rust: Ensure K_NONE is never actually ends up in the tag (this was impossible before, but now it's enforced)
Rust: Remove stray space
rust: Don't use fileEOF() as it behaves unexpectedly

fileEOF() actually returns TRUE anywhere after the last newline when
using the file*() API, which includes a last line without newline.
This is an implementation detail which makes this function not usable
with the rest of the file*() API.  fileEOF() should actually probably
be called iFileEOF(), but that's outside the scope of this parser.

However, even if fileEOF() did work properly with fileGetc(), the very
last byte in the input would have been omitted because we actually
read ahead by one byte, which means the actual read reaches EOF one
byte before our "current byte" does.

Checking whether we reached EOF by checking whether our current byte
isn't equal to `EOF` fixes it, and isn't worse since it's actually how
fileEOF() is implemented anyway.