Get provider data via API - part I

This is my partial work I did while in Reykjavik for the provider data API.
It needs testing and improving on the data serialisation format.