implement set_community

(also enhance gather subroutine)
separate calculate_facts from apply_personalities

calculate_facts is now separate and must be called separately. trigger
is now renamed to apply_personalities.