Add general 'Huntable' typeclass to client interface.
This class indicates that a datatype is indexable and provides the neccessary functions to convert such a datatype into an ApiDocument.

Also refactored the persistent example to make use of this new typeclass.
Merging into head should be easy.
Merge branch 'master' into Huntable
small fix