changes to get better malformed command parameter exception messages.
create better exception help messages

message shows help hint for the command that had the error instead of the root command help
cleanup command exceptions

Create abstract class CommandException, other command exceptions now implement this.

Removed exception message handling from CommandDispatcher

Messages are generated by static methods in CommandException and placed into the exceptions message. CommandDispatcher simply displays the exception message to the command sender.

Exceptions are thrown by calling the appropriate static method in CommandException

Moved localized exception messages to CommandException

 updated internal commands to use CommandException.assertNotConsole instead of accessing InvalidCommandSenderException directly

 updated internal commands, removed "throws [exception, exception,...]" and replaced with "throws CommandException"; cleaner

 various comment fixes and additions