Add equals for CraftInventory objects. Adds BUKKIT-4110

When working with inventories you regularly end up with different
Inventory objects that have the same underlying Minecraft inventory.
Currently, even those these point to the same thing, they are not
considered equal. With this commit comparing any Inventory object that
represents the same inventory will result in equals(Object) returning
true.
Add player unique ID to (Async)PlayerPreLoginEvent. Adds BUKKIT-5108
Add method to send fake sign updates to players. Adds BUKKIT-2300