Renamed from uppercase to CamelCase

OUTCOME.java
to
Outcome.java

Right now, this is a reference class that defines "WIN", "LOSS", "TIE"
Refactored from Comparator<> to Comparable<>

refactored since each object has the version attribute.

This version attribute is what is currently running on the server.

Example:
if (!Version.getPlugin("Abc").isCompatible("1.2.3-b777")) {
   disableMe();
}

No need to check if plugin Abc is installed or enabled()

isCompatible() and isSupported() check if the plugin is null or if the
plugin is not enabled.

In other words: If you attempt to instaniate a Version object for a plugin
that isn't even installed on the server, then then any compatibility check
is false.

DISABLED PLUGINS: You can get their version and print them out. But all
compatibility checks will fail. (this is intended because you don't need
to run version dependent code against something that is disabled).

Thanks to Tux2 for pointing out that version checks will fail for
GroupManager. Might add possible future support for GM. Should work for
the other 99% of plugins.

Server tip: check against
Version.getServer().isSupported("1.X.Y-R9.9-SNAPSHOT");
Refactored names & updated documentation

package-info.java: doc update

Outcome.java: renamed

DebugOn.java:
DebugOff.java: removed BombPlugin plugin;

and replaced with a more generalized form

Plugin plugin;
Renamed field to make the code more clear to read.

DetonationTimer.java:
player renamed to planter

DefuseTimer.java:
No clue what got changed.
Refactored conditional

if-statement no longer checks if the plugin is null because the Version
object takes care of this internally.

Added commented-out code that will eventually support EnjinMinecraftPlugin
custom stats. The code is for testing purposes only, and will be released
in a future versions of BombArena.

The code is Enjin version dependent upon v2.6.0
v1.1.5 Fixed bug and added new plant mechanic.

NEW FEATURE: onBombPlace(): in previous versions, this would just alert
the player of "Improper Bomb Activation."

onBombPlace() now attempts to trigger onBombPlant() if the planter is
close enough to the base. The distance was hard coded during testing. It
will be configurable in future updates.

Be aware that this could potentially give an unfair advantage to the
attacking team because while the defenders will be forced to get really
close to defuse the bomb, the attackers will have the luxury of planting
from a further distance. Use this option with caution.

The intention for this option is to make it easier and intuitive for new
players to plant the bomb. New players may not initially know how to plant
the bomb, so now they'll have a 2nd way. It makes it easier to learn the
game, and takes away some of the frustration from players who cannot
figure out the classic bomb plant mechanics of interacting with the
baseblock.

BUG FIXES:
1. onBombCarrierLeave() has finally been implemented. This fixes a
situation where a player could pickup the bomb then disconnect or leave
the game... leading to a scenario where the BombArena match would NOT have
a bomb available to players who wanted to complete the objective.

2. the bomb planter no longer drops a bomb if the DetonationTimer is
running. (i.e. He has planted the bomb and therefore does not have it).

3. the plugin.carriers for the match will no longer get cleared
onBombDrop() if the planter dies after he has planted the bomb. See #2.

4. Fixed an unusual and rare error that would occur when the bomb got
planted and all the players left the match... Meaning that the error would
occur because the DetonationTimer was running while the match was
finished. onFinish() now cancels the match timers.

Hopefully, this is the last of the bug fixes so that I can focus on adding
new features like the SND rule-set. And also focus on releasing other Arenas
like HostageArena and ConquestArena.

To-Do:
Add a new config option for the BaseRadius that defines how much leeway to
give new players who plant the bomb like it's a block... And defines how
far away they can be from the plant site.
Added customized BaseRadius for onBombPlace()

new config.yml option:
BaseRadius: 3
Added support for future SND rule-set.

SND = Search N Destroy.

This gamemode has 2 teams: Attackers and Defenders, with one bomb spawned
near the attackers spawn. The Defenders typically have 2 locations they
must protect from being destroyed.

plugin.yml: Adds default permissions to make it easier on server Admins to
setup permissions. The idea behind this is that players should, by
default, have permission to join and leave arenas... but they can still be
restricted with the negation node.

plugin.yml also adds the /snd command
and updates the description to reflect the support for 2 different game
types: Sabotage and Search N Destroy.

SndArenaConfig.yml: placeholder of future configuration options for Search
N Destroy gamemode.

Future classes:
SndArena.java: Will define the SND rule-set.
SndExecutor.java: Will implement the /snd commands.

BombPlugin.java: line 118 will register the new SND competition with
BattleArena.

SND was not released with v1.1.5 because I wanted v1.1.5 to focus
primarily on bug fixes. Once all bugs are squashed, I will add new
features and new Arenas like

SndArena
HostageArena
ConquestArena