Reimplement Category.default, with tests this time.  (Necessary for the
Purchase refactor to be completed)