Initial support for completing quests.

Removed the key_assoc parameter in ensure_character_quests, since we can
have repeatable quests and duplicate quest_id values.