Add support for ItemMeta and a command to set items from current inventory.

First let me say I know this might be problematic to pull as-is since it makes several changes, feel free to reject and just take whatever you might be interested in.  

Firstly, it adds support for directly serializing and deserializing itemstacks from the give-items.items list, so that any items with any meta can be supported, it does so in a backwards compatible way so that the old colon-separated-string format will still work.

Secondly it drops all the custom written book code, as it becomes redundant when full item meta is supported.  (though the interface may not be as nice as a text-editor, so this is controvercial)

Thirdly it adds a setitems command that populates the give-items.items list with the contents of the CommandSender's inventory.