Don't use the display name as storage for monster eggs and name tags.

Their display name will be used to rename mobs, which can only be 
64 characters in length (DataWatcher limitation). While we could 
have intercepted the mob naming itself, we can't be sure ItemRenamer
is always there to correct this. Mobs that are broken in this manner 
will actually corrupt the world, so we have to be extremely careful.

Why is this necessary in any case? The problem is that CraftBukkit 
started removing custom NBT tags in ItemStacks when they are read 
from the network stream, before ProtcolLib gets a chance to intercept 
it. I use these custom NBT tags to store the unmodified NBT tag 
that will be inserted on ItemStacks recieved from the client itself. 
If it weren't for the fact that Minecraft stupidly sends entire 
ItemStacks from the client, or that CraftBukkit's ItemMeta removes 
custom NBT tags, then all this could have been avoided.