Set slugs 576

Tests now pass locally for me.
@afred: Taking them out does change behavior. With them there, '/catalog/bad-slug' returns 404; without them, it returns a 200 search results page, but with a flash message at the top.

I would really like to get this branch in: This little bit is not something that changed in this branch, and if we want to do a cleanup, while preserving behavior, that can be its own bug.