Add tab-completion API. Fixes BUKKIT-2181. Adds BUKKIT-2602

CommandMap contains a method that will auto-complete commands
appropriately. Before the first space, it searches for commands of which
the sender has permission. After the first space, it delegates to the
individual command.

Vanilla commands contain implementations to mimic vanilla
implementation. Exception would be give, that allows for name matching;
a feature we already allowed as part of the command is now supported for
auto-complete as well.

Plugin commands can get a tab completer set to delegate the completion
for. If no tab completer is set, it can check the executor to see if it
implements the tab completion interface. It will also attempt to chain
calls if null gets returned from these interfaces. Plugins also
implement the new TabCompleter interface, to add ease-of-use for plugin
developers, similar to the onCommand() method.

The default command implementation simply searches for player names.

To help facilitate command completion, a utility class was added with
two functions. One checks two strings, to see if the specified string
starts with (ignoring case) the second. The other method uses the first
to selectively copy elements from one collection to another.
Add a tab completion API for chat messages. Adds BUKKIT-2607

This implementation provides access to a (mutable) list and the base
message. Also provided is a convenience method for getting the last
'token' in the provided string.
Updated version to 1.3.2-R2.0 in pom.xml for RB.
Updated version to 1.3.2-R2.1-SNAPSHOT for development towards next release.
Override toString() method in Command

Overriding the toString() method provides more human-readable feedback
when a problem occurs, including the version of the plugin if
applicable.
Updated version to 1.3.2-R3.0 in pom.xml for RB.
Update Bukkit for Minecraft 1.4(.2) changes.
Add isHardcore API to check if the server is in hardcore mode or not. Adds BUKKIT-2707
Add default DifficultyCommand. Partially fixes BUKKIT-2671
Remove invalid tab completions from DefaultGameModeCommand as player names are not an accepted parameter.
Add default WeatherCommand. Partially fixes BUKKIT-2671
Expose setBedSpawnLocation with force option. Adds BUKKIT-2709
Add default SpawnpointCommand. Partially fixes BUKKIT-2671
Revert FIREBALL being renamed to LARGE_FIREBALL
Update ExpCommand with levels support. Fixes BUKKIT-2683 and partially fixes BUKKIT-2671
Clear
[Bleeding] Check for player validity in spawnpoint command. Fixes BUKKIT-2742
Revert "Clear" commit, was not meant to be pushed.

This reverts commit bdf5d326f5910993c1f7e48b4409f7b0d53c1926.
Add clear inventory API to PlayerInventory with a successful count return. Adds BUKKIT-2745
Add default Clear command. Partially fixes BUKKIT-2671