introduce GenericEntitySettings

A class to abstract all settings pages that

a) display entity rows in a list
b) and provide edit/create functionality via that list
apply GenericEntitySettings to contributor roles
simplify tab implementation