Implemented parse_buf_file, allowing parsing to use an external ident_map.
Made main use parse_buf_file.
Made destroy functions politely wipe fields.
Made ident_value be a size_t, not a uint32_t.

Making it be a uint32_t was pointless because struct
alignment padded it out to 64 bits anyway.
Added TODO_IMPLEMENT.
Removed unused stdint.h include from identmap.h.
Added support for C++-style comments, and made is_ws capable of failing.