Also change the C backend so that it also de/serializes unions without any other fields besides the tag.
Also add a VIM syntax highlighting file. This also fixes some previously untriggered bugs.