[Bleeding] Blacklist certain plugin names
[Bleeding] Blacklist ":" in command names.
[Bleeding] Simplify command handling.

Instead of duplicating code to handle two pools of commands
we can instead just add the fallback commands after all
plugin commands are loaded and achieve the same effect. We
also now always register the direct address of a command
to ensure it is always possible to access it.

In addition, aliases can be determined by whether or not
the command label of the command matches the command address,
thereby rendering the aliases HashSet redundant.
[Bleeding] Improve alias system.

Adds a large expansion of the aliases system. Aliases can now take arguments,
reorder their arguments, and only pass certain arguments to certain commands.
New syntax added to the aliases are $1 for optional arguments, $$1 for
required arguments, $1- for optionally using all the arguments from the
specified position onward, and $$1- to do the same thing but require at least
the specified position exist. These exist for numbers 1 through 9. You are
able to pass arguments to one command of a multiple command argument and not
others. You can also use the argument as a prefix and/or suffix. A raw $ can
be represented in the arguments by using \$.

Examples:

aliases:
# Usage: /testobjective score_deaths 1 5
testobjective:
- "testfor @p[$$1=$$3,$$1_min=$$2]"

# Usage: /ban Amaranthus Because reasons
ban:
- ban $$1 $2-
- say Banned $$1

# Usage: /icanhasbukkit
icanhasbukkit:
- version

# Usage: /icanhasplugin HomeBukkit
icanhasplugin:
- version $$1

One change from the previous aliases system is that commands are no longer
passed all arguments implicitly. You must explicitly pass the arguments
you want to pass to the command.
Pulling all pending Bukkit-JavaDoc changes
[Bleeding] Fix formatting of optional arguments.
[Bleeding] Also blacklist ":" in plugin command aliases.
[Bleeding] Fix getCommand for conflicting plugin commands.
[Bleeding] Implement escape sequence for aliases.
[Bleeding] Support any number of arguments in aliases
Clean up alias handling.

There is no need to print a stacktrace when an alias fails, we do not do
this for normal commands. We also now give error messages when attempting
to register an alias instead of having them just silently not function.
Remove extra events from alias execution.

When executing an alias we already call an event for the alias itself. The
extra events are not needed for logging purposes as the alias itself is
logged and the events cause issues for plugins trying to do spam checking
on their own.
[Bleeding] Update Tell and Help aliases to use alias system.
Updated version to 1.7.2-R0.3 in pom.xml for Beta.
Updated version to 1.7.2-R0.4-SNAPSHOT for development towards next release.
Fix loadbefore, soft, and normal dependencies with spaces. Fixes BUKKIT-5418

This change makes the lists of loadbefore, softdependency, and dependency
replace the spaces in the names with underscored to reflect the behavior
used with names.
Provide warnings for spaces in plugin names. Addresses BUKKIT-5419
Update data folder migration for spaces in plugin names. Fixes BUKKIT-5417

This change drops the previous plugin data folder migration based on the
plugin's file name, and adapts the migration to now instead consider
plugins that have spaces in their original name.