Introduce map functions to repositories to translate columns to objects.

Follow the convention established in the linesRepository for mapping database rows into object literals, using a private map function. This translation encapsulates database column names within the repositories.

Moved getPoets from poemsRepo to poetsRepo.forPoem, otherwise we would need to share the mapPoets function. This was a sign that the function probably belongs on poetsRepo anyway.