Topic/adhoc collection

as described in https://github.com/charsbar/acme-cpanauthors/issues/2 --

- store the category in the object as well, moving the ids=>names down one level
- class method for category on registered classes
- creation of ad-hock objects using a new Factory class

Let me know what you think; feel free to cherry-pick if you only like some
bits and not others. :)