Hi mankey--
The reason for that answer is because the list of vegetarian items (vegetables, fresh cheese, oatmeal, and meal cakes) was the common diet, but meat was rarely eaten. The only way to provide that contrast between the two categories of foods is to use the "with" clause; A and B would put "meat" in the group with the other foods, because of the "and."
The D option is grammatically incorrect; if the sentence had a semicolon, as this one does that we're writing now, then D could possibly have worked grammatically though it still sounds off. Having just a comma means that it is definitely written wrong.
The C option doesn't work because "rare" is an adjective as used in that phrase; you need a noun there to explain what meat was. "A rarity" is a noun that means "an uncommon thing." That's why we end up with E as the correct choice.
One reason this one is so tricky is due to the different meanings of "rare" - the adjective "rare" means "unusual" but it also means "not cooked all the way" and so because of the topic of "meat" it could be confusing. The noun "a rarity" is only applicable in the former sense, of something that occurs infrequently.
Hope this makes sense - if you have specific questions on the reasons behind this answer please ask!
EssaySnark