Make invisible spawns hidden. Closes gh-627
Remove "Can't re-enter spawn" task.

This test task is incompatible with additions to War regarding teams.

This method of preventing players of receiving spawn protection is
currently extremely buggy and there has to be a better way to fix the issue
at hand.

@taoneill please email me if there is any serious reason this task is
needed, otherwise it just deteoriates from the War experience. Numerous
times I have played War, I have been bumped out of a warzone even due to
this. There seems to be no need for it. I can revert this commit if needed.

One possible solution could be disabling all protections for anyone who
returns to their spawn, such as like how loadout switching is prevented
after leaving spawn. Another solution could be preventing multiple teams
from taking a flag while another flag is on the run.

Please leave your ideas in the comments or email me.
Add support for multiple spawn points. Closes gh-628.

/setteam <color> now will add an additional spawn point if the team already
exists.

When a player joins a team in a warzone, they will be sent to any one of
their teams spawn points, picked at random.

This change required major modifications to the underlying teams subsystem
in order to support multiple spawn points for the team.
Store loadouts using bukkit stack seriliazer.
TeamKind cleanup, warning fixes, closes gh-631

TeamKind has been changed to store colors in a DyeColor object instead
of using a byte value store. This improves readability and makes the
code future-proof.

All listeners are now unregistered when the plugin gets unloaded. This
removes the need for listeners to check if War is loaded and prevents
duplicate registration. I would prefer if the ability to unload and load
the War plugin was completely removed, however, as there are plugins out
there such as PlugMan that are dedicated to cleanly reloading plugins.

The main purpose of this was to clean up all issues and problems
reported by the eclipse java IDE. 0 warnings are shown by the IDE now.
Add ability to bypass warzone lobby. Fixes gh-669

If a zone has the property autojoin & autoassign set to true, then
players will be directly assigned to a team when they go through the
Warhub portal for the zone and brought back to the Warhub when they
leave the zone.
Add scoreboard features and configuration options. Fixes gh-623, gh-45

With the new warzone configuration property "scoreboard", zone makers can
set the type of scoreboard to be used. This may be "none", "points", or
"lifepool". If the scoreboard type is not "none", then a scoreboard will
be shown on the right side of the screen in the warzone. The shown
scoreboard will display the configured option.

Also, 3-year-old feature request COMPLETED! Use the command
/zone <warzone-name> scoreboard to view a scoreboard from anywhere.
Fixes gh-611, gh-612 - Add kill count system and kill meters with XP.

The killstreak counter shows a message if the player has more than 5
kills. I have also added an example reward system with points, but did not
enable it yet (needs discussion).

Through the warzone option xpkillmeter the XP level will get updated with
your current kill streak amount. This gets reset every time you die and
is added to every time you kill a player. If this option is enabled,
players cannot gain XP in the warzone.
Add base for configurable KS rewards. Fixes gh-506

Killstreak rewards can be configured in the set.war.killstreak section of
war.yml. Rewards will only be applied to players if the team/warzone has
KILLSTREAK set to true.

The configuration section will get populated on generation of war.yml, or
may be manually added to older configurations.

Currently the system supports messaging the entire warzone and just the
attacker. It only supports rewards of items and health at the moment; more
are expected to arrive.

This commit also moves XPKILLMETER into the team-specific section of the
config.
Allow the use of multiple items in rewards.

This also allows the use of XP and points as rewards.
Added configurable airstrikes, based on work from @grinning.
Add MySQL kill/death logging support. Closes gh-658

War now logs kills and deaths to a MySQL database. Records are created for
every player at the end of each round with the current date and amount of
times the player killed and was killed for the entire round. It has built
in support for automatic & configurable log clearing past a certain date
(default is 1 week).
Handle deaths after they have been counted and rewarded.

This prevents a problem where players could be rewarded after the game ends
Fix issues with joining a team.

Players are no longer silently kicked out of their team if they try to join
a non-existant team with /join. Fix an inconsistency with the format of the
team join notification message.
Soup PvP Added

Soup PvP is now a part of warzone config.
Refer to Issue 651.
Restore saturation and tweak some soup pvp actions
Added events for various gameplay events

Added the following events for other plugins to hook into:
WarPlayerDeathEvent, WarPlayerKillEvent, WarPlayerLeaveEvent,
WarPlayerThiefEvent, WarScoreCapEvent, WarTeamWinEvent,
WarThiefDeathEvent
Properly implement War event API, some cleaning.

I changed some of the new event API code from @BenMenking to use more
Bukkit provided frameworks like Player and use basic java structures
instead of checking integers.
Add event when battle ends
Actually no, I just forgot to stage this.
Using more bukkit interfaces rather than IDs

Item/damage/anything ID's have now become deprecated in bukkit presumedly
in preparation for any sort of official server modding API. This switches
war from using IDs in most cases to bukkit-provided classes such as
ItemStack.