adapt to firm proj numbers being unsigned
Rewrite enum type/entity handling

- Enum values do not carry a reference to an enum type anymore but to
  the enum entity.
- Enum entity has a reference to the first of a list of enum values.
- This fixes bugs with enum values referencing enum types which were
  already freed because of identify type
  (firm-testsuite/C/gnu99/cp_error080.c)