Update CraftBukkit to Minecraft 1.7.5
Increment loop index whether or not command succeeded. Fixes BUKKIT-5455

When VanillaCommandWrapper dispatches a command containing a
PlayerSelector wtih c>-1 (implicitly true for @a), it loops over the
selected players and exectures the command with each player. However, the
loop index is only incremented if the command fails. As a result, a
successful command is repeated on the same player indefinitely, locking up
the server. This commit fixes the issue by incrementing the loop index
regardless of whether the command succeeds, ensuring the command is only
executed once per player identified by the PlayerSelector.
Fix teleport failing right after join. Fixes BUKKIT-5479

Teleporting a player checks to see if the player is disconnected to
try to avoid creating ghost players. The check it uses, however, randomly
fails when the player is in the middle of joining the server. The check
that would work correctly here does not work correctly when the player
actually disconnects. To work around this we add a new flag which is
cleared on the first tick of the new player and assume they are connected
if the flag is set.
Fix missed diff making horses lose their saddle
Fix PotionEffect removal.

The method in EntityLiving to remove a potion effect was remapped during
the 1.7.5 update.  The method invocation in CraftLivingEntity was not
updated to invoke the remapped method, which has led to a random method in
LivingEntity being called in its place.

This commit corrects the behavior of removePotionEffect by changing the
method to invoke the remapped method as opposed to EntityLiving#m(float).

Thanks to @gabizou for finding this issue.
Correct missed diff
Fix issues with leashes and weather due to missed diff
Implement API for dealing with player UUIDs. Adds BUKKIT-5071
Store last known player names in preparation for name changing
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
Update CraftBukkit to Minecraft 1.7.8
Use fetched GameProfile for getOfflinePlayer(String)

When getting an OfflinePlayer by name we lookup their UUID and then
use that to fetch the OfflinePlayer. If the player has not played on
this server before the resulting OfflinePlayer will return null for
getName(). As this is unintuitive we now create the OfflinePlayer directly
using the profile we looked up and make OfflinePlayer prefer that data.
Check the actual whitelist for Player#isWhitelisted()

The server's check is for whether or not a player can pass the whitelist
not just if the player is on it. That seems like more useful information
but the API has always just checked if they are on it so this commit
restores that.
Check actual whitelist for CraftOfflinePlayer too
Use world-container when finding players to convert. Fixes BUKKIT-5530
Fix missed diff and other small things
Add methods to use arbitrary entries in scoreboards. Adds BUKKIT-3977
Don't do a lookup for obviously invalid usernames