Refactor Family Roles

The way existing family roles work is going to be rewritten anyway, but should also be improved to support New family roles.

We should be able to define arbitrary roles/benefits with minimal code change.

Vote for this feature to raise its priority and get it done faster!