Give crafts unique ids in the form of a type+id tuple

Give crafts unique ids in the form of a type+id tuple. Since we can now safely hold "weak pointers" to crafts, let UFOs refer to their killer by unique id, instead of a pointer that may be deallocated or reused

Provide a savegame method to look up a craft by its unique id, it could always come in handy