Implement a basic mapper

This should now be ready to merge. For details, see inline docs and the brief integration test at: https://github.com/dpla/KriKri/pull/23/files#diff-c139162c30d9695d1f73d5b6881e4348R4 

I'll compile a longer commit message on squash.
Hmm, this is interesting: http://stackoverflow.com/questions/13789849/arity-of-method-delegated-with-method-missing