Entity Extended Properties Changes

Adds IExtendedEntityProperties interface, which specifies three methods
that are needed:  Init, Save, and Load.

Adds the EntityConstructing event, which is called during the
constructor of Entity.  It is needed there so that the reference is in
place during the ReadNBT call.

Adds hooks into Entity that allow registration of
IExtendedEntityProperties classes, as well as saving and loading to NBT.
Brewing Stand Changes

Added an event on potion ingredient applied.  Event contains the item
stacks of each of the potions being brewed as well as any remaining
ingredients.

Changed TileEntityBrewingStand and SlotBrewingStandPotion to look for
instanceof ItemPotion rather than potion.itemID
Player Flyable Fall Event

Adds an event to EntityPlayer that is posted on player fall when the
player has flight capabilities.