Currently if a villager is griefed, the best we can do is replace it with a new villager. While this works very well with farm animals, I don't think this is sufficient for villagers. Villagers require you to unlock their trades, and a fully unlocked villager represents TONS of trading, time, and resources. None of that can be rolled back atm.
Also it is possible to "brick" a villager so that their trades are permanently locked, rendering them useless (See https://mojang.atlassian.net/browse/MC-749). This way it is possible to grief villagers in such a way that we are unable to determine who the griefer was.
Ideally we would back up a villagers trade list, and be able to create a new villager with that trade list in the event of grief. Is this something that we could do? Or would we need to make villagers a private resource (like farm animals in rev9) in order to protect against grief?