Makes the codelist API more generic to deal with 1.05 #216

This really needs checking properly!
Merge pull request #219 from IATI/216-update-codelist-api

Makes the codelist API more generic to deal with 1.05 #216