Allow plugins to obtain the reason a player disconnected. Adds BUKKIT-429
Adds a QuitReason enum, and adds getQuitReason() to the PlayerQuitEvent and PlayerKickEvent.
If a disconnect reason appears that does not feature in the enum, it falls back to "QuitReason.UNKNOWN" or "QuitReason.KICKED". A fallback constructor (marked as Deprecated) remains in place, just in case someone is calling the event from their plugins, this defaults to "QuitReason.UNKNOWN" or "QuitReason.KICKED".