Rewrite ItemIdentifier again.
Variants with no NBT are kept forever, variants with tags are WeakRef'd and cleaned up by a daemon thread.
Damage and maxstacksize now ask using a itemStack.
Cache masStackSize.
Remove some of the ItemIdentifier/ItemStack duplication for methods.