Fix double block inventory getContents method and cleanup setContents
Add group support

This commit adds support for creating and managing groups of chests. A
group can have any number of chests in them (as long as all chests are
in the same world) and a chest can belong to any number of groups.

New commands added:
group-create :- Create a group to add chests to (in the world your in)
group-delete :- Delete the specified group
group-add :- Add the chest your looking at to the specified group
group-remove :- Remove the chest your looking at from the specified
group
group-forget :- Tell all chests in the specified group to forget a
specific player
group-forget-all :- Tell all chests in the specified group to forget all
players
group-copy :- Copy the contents of the chest your looking at to all
chests in the specified group
Add group-random command

Allow all chests in a group to be randomized via:

group-random [groupName] [amount]
Add support for single inventory chests

Via the use of setSingle a treasure chest can be created which rather
then having a per player inventory has a single inventory. The addition
of this feature allows treasurechest to be used in group games where you
want to restrict some chests to "first come first served".

Note: The life-time of the inventory for this type of chest is defined
by either server reset, or the use of the forget command.
Fix glaring flaw in singleton chests

A fully raided chest as the same inventory as a new inventory created by
createTreasureInventory so don't try and detect a new chest inventory
being created that way.

Created a 2nd createTreasureInventory function which can be used to
detect if a chest  inventory already exists for the specified input,
using this we can determine if this is the first time a singleton chest
has been opened.
Group management improvements

When deleting a chest remove it from all the groups it belongs to.

Add new command "group-list" which shows all the treasurechest groups.
Allow group forget commands for console

Group forget commands (group-forget and group-forget-all) don't require
player features so allow them to be used from console (and thus command
blocks).
Merge pull request #58 from basicmark/master

Pull request to add group support and singleton chest

Notes:
*   Singleton is a confusing name, because it has nothing to do with the Singleton design pattern. 
    I don't have an alternative yet.
*   I get a compile error for some reason. I must typecast integers using (Integer) instead of (int). 
    Easy fix.
*   Group commands will be nested under /tchest group <command>...
    Still need a thorough look over the group commands.
*   set-single command needs extra message, when singleton value changed. Instead of just "Treasure contents updated"
*   Why no forget and rewards for singleton treasures? (see TreasureManager 358)
    I guess because the rewards would be activated every time a player opens the inventory. 
    If we use the forget-time somehow, then we know who opened it first... and we can give rewards. 
    Not sure how yet, exactly.