Write parser for the CKAN extras field

Instead of querying one dataset at a time I am using now the API
function current_package_list_with_resources for bulk import.

This, however, has to be done by using pagination. A limit and page
arguments specifies how much datasets every time should be fetched. Too
much datasets a time results in a timeout.

Another problem is that each field in the extras field is encoded as a
JSON meta-object. Which means the actual key and value are encoded as
properties. For that I had to write another parse method.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Set limit to 500

A limit of 500 datasets at a time seems to work sufficiently.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Create Repository::CKAN class

Similar to the CKAN metadata structure I have created a CKAN repository
class for the serialization procedure.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Add JSON-ZIP importer

Apparently, the newly introduced bulk importer with pagination does not
work with data.gov.uk. Often I receive internal server error responses.
There is, however, also a zip dump which can be used instead.

This is not only better, but also a lot faster. Due to the different
representations I also had to extract the name values from the group
and tags fields to create a new array.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Make pagination limit configurable

Once again, the type of data import is making me a hard time. I believe
it depends on the overall number of available data which limits the
total number of retrievable data per request. For publicdata.eu I need
to go down to 100 datasets per request. Hence, I have made the limit
parameter configurable as well.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>