Allow assigning a modId to a custom itemstack

Currently you can assign a custom modId to Blocks and Items but not to
custom ItemStacks.
These changes are to allow you to do just that.

Extra:
GameRegistry.registerItem(Item, String) was changed to return the item.
This way it is consistent with the other register block/item methods.