[#430] [bug] Packages missing from vocabulary_show()

@kindly I think you might want to review this because I changed some of your recent code. You might not like the way I changed it :) I introduced a lot of new calls to `package_dictize()`!

The problem is that the way you had changed it, meant that `vocabulary_show()` was broken, the list of packages in a vocabulary tag's dict was always an empty list even if there were some packages that had that vocab tag. No test was failing because there wasn't a test for this :( (Which was my fault.)

So I've fixed it and added a test but I might have made `tag_show()` a lot slower inefficient so maybe this should be done differently