Don't use createResponseValue for top-level list types

1. Stop calling `ResponseElementData` on elements of top-level list types.  Most often, those were populated by the database, and `ResponseElementData` is intended mostly for fields that are foreign keys which only have their ID populated.
2. Add a new interface, `CollectionResponseConverter`, which replaces `ResponseElementConverter` for elements contained in top-level lists.