make GetAllContributors return a custom dto

fixes #610
Any particular reason to `virtual`-ize these? Should we be doing it for all of them?