replace AbstractCommandHandler with CommandDispatcher

dispatcher allows assigning commands to the commands specified in the plugin.yml file while still allowing the global default command that was used before.

removed AbstractCommandUtils, replaced with CommandUtils

add UsageGenerator. Automatically generates command help usage.