Complete OAI-PMH GetRecord implementation

Refactor entity-to-record mapping classes: separate mapping interface
from iterator so we can map single record here.