Improve InventoryCloseEvent handling. Fixes BUKKIT-3286

Currently there are several cases where a player will have their inventory
screen closed client side but we will not call an event. To correct this
we call the event when the server is the cause of the inventory closing
instead of just when the client is the cause. We also ensure the server is
closing the inventory reliably so we get the events. Additionally this
commit also calls the event when a player disconnects which will handle
kicks, quits, and server shutdown.
Fix animal spawning ignoring limits. Fixes BUKKIT-4180

Minecraft 1.5.2 changed mob spawning by ignoring persistent mobs from the
mob count. In CraftBukkit all mobs that previously used a separate hard
coded persistence system were ported to instead use this one. This causes
all animals to be persistent by default and thus never be counted. To
correct this issue we consider if the mob would be considered persistent
in the hard coded system as well when deciding if a mob should count.
Use in-game name
Custom versioning
Copy jar to test server
Copy output to shared library folder
Show arguments supplied with server command aliases in help; BUKKIT-3134
The server bukkit.yml aliases section will pass arguments supplied to a
command alias. This commit updates the help system to show what those
arguments are in order to communicate the  difference in functionality.
Use platform specific line separator for file output; Adds BUKKIT-2370

This only modifies the output used to write the log to the file system.
Log player disconnects as info instead of severe
Update snakeyaml to 1.12; Adds BUKKIT-48, BUKKIT-3896

http://code.google.com/p/snakeyaml/wiki/changes
Issue 66 "Provide serialization with minimum layout change" is fixed in
snakeyaml 1.11 and addresses BUKKIT-48.

This commit also introduces an improved error message when a TAB is
attempted to be used for indentation.