Made the invalid ident value be SIZE_MAX, not 0.

As a result, ident values could index into an array, precisely.
Made ident_map support reverse lookups.
Removed redundant length fields from ident_map.

Maybe I will regret this.
Removed pointless ident_map_entry type.
Removed unused "wrong" function name_table_lookup_def.