Remove Comparable from ItemStack, add Comparators for specific orderings

There's no simple ordering that is consistent with the likely behavior of ItemStack.equals(), and the most useful orderings can be easily defined via the ItemStack interface.
I'm not really sure about this behavior. If we're comparing the types, then equal types should be equal.