Re-implement the /i command and make /give conform to the vanilla standards

This fixes #9.

This commit is experimental and may fail. Please test it!