Add CraftBukkit inventory transaction methods

CB adds onOpen, onClose, getViewers, setMaxStackSize, getContents
to the IInventory interface, so we implement them. Fixes 11 errors.
Add stub IInventory getOwner() methods

Returning null for now. Fixes 5 compile errors.
Deal with generics type information loss. Fixes 7 compile errors.

In the FML/Forge source, for example net/minecraftforge/common/Configuration.java:
    public Map<String, ConfigCategory> categories = new TreeMap<String, ConfigCategory>();
but when compiled and reobfuscated (MCPC+), this becomes:
    public java.util.Map categories;
Building against the remapped library fails because of this lack of
type information. Add casts where necessary. Igh.
Fix deprecated warnings
Fix 'type parameter not within bounds' error in ForgeDirection

EnumSet<E extends Enum<E>>..apparently ForgeDirection doesn't
extend Enum<E> after it makes its way through the MCPC+ build process..
Fix unnamed names on registered blocks

null names are required for compatibility with the existing client.
Still using the three-argument register methods to fix deprecation.