Add support for command tab completion in the console. Adds BUKKIT-4168

In order to add support for command tab completion, two changes had to be
made.  The first of the two changes was to allow CommandSenders other than
Players to tab-complete the names of players. The second change was to
only prefix tab-completed commands with a slash if the CommandSender is a
Player. The console doesn't use a slash before commands, so tab-completing
them with a slash prevents the commands from being properly handled.