Various vocabulary fixes, mostly for translations and IntDisplayLists

Several changes were made in this area recently, plus a few pull requests that have not been merged yet.
This pull request is for merging into branch 1.9.x. After that it can be merged to master.
This includes the changes of my own branch maurits-vocabulary-translation (pull request #21) and on top of that a fix for pull request #25 for IntDisplayLists. I will be so bold as to close them both and point to this new request.

(Yes, I can merge it myself and there are enough tests and they all pass on Plone 4.3, but since so many people have touched this code recently it is good if one of those has a look too.)

Kindly pinging @gbastien, @davismr and @kiorky.