Complete refactoring for persistence layer

This commit completes the refactoring to use the persistence layer for
accessing the CKAN metadata. I had to replace the recursive symbolize
keys methods as the old one did not take arrays into account.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Replace pry-debugger with pry-bugbye

Pry-debugger is unfortunately broken for a RMI version higher than
1.9.3, but the fork pry-bugbye seems to work just fine. That is why
I have replaced the dependency.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Make the metadatum classes more concrete

I have made the metadatum classes more concrete by adding a custom index
name and a custom document type, as well as adding more CKAN properties
which were spotted in the wild.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Remove metadatum classes all together

Using tire's persistence feature I am forced to add all the properties
as seen by the last commit, however, one of my original goals was to
stay schemaless. This is the opposite, I am forced to specify all the
elements of my documents.

Tire can be used just fine without the persistence layer. I have to
refactor the code to use the update index functionality.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Update CKAN metadata documents directly

Instead of using the persistence layer I am now updating the documents
directly by using the Tire.index-update mechanism.

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