Added faction_by_ident

faction_by_id(), assign_faction_id(), random_good_faction(), and random_evil_faction() should all be on their way out.