Add factory for Category entity
Detect if a category is a subcategory

Top-level categories only contain other categories, subcategories only
contain content items
Rework feature slightly to accomodate additional scenarios
Create a hash producing factory for each entity
Instantiate category contents as the correct entities
Don't instantiate entities if the class doesn't exist
Use correct subject for test

Missed this in the refactor
Strip out all non-categories in hierarchy when calling #all
Don't use a duplicate id for fake repo entry
Render list of content items when viewing a subcategory
Don't decorate contents if nil