Add missing members of misson to serialize/sdeerialize functions.

This might fix the bug where the missing caravan mission can only be completed without saving: The mission start (`mission_start::place_caravan_ambush`) sets `mission::target_npc_id`, but that member is not serialized / deserialized, so it will be lost when the game is loaded again.

The mission has the `MGOAL_ASSASSINATE` goal, which is checked in `npc::die`. There the missions `target_npc_id` (which was lost) is compared to the id of the dying npc. As the target id is lost and reverted to -1, it will never match and the mission is never completed. Without loading the game, the id stays and the missing goal can be achieved.