add localized exception messages

minor cleanup

add exceptions
add runtime exception for duplicate param names in CommandInfo

remove custom runtime exceptions and replace with RuntimeException

add comments to clarify how the commands permission name is generated
refactor name getters to getName

refactor CommandParameter.getParameterName to getName

refactor FlagParameter.getFlagName to getName

add INamed mixin to CommandParameter and FlagParameter
fix array out of bounds exception

fix master commands not filtered in tab list
add ICommandOwner

refactored methods in AbstractCommand and AbstractCommandHandler to use ICommandOwner

Allows using AbstractCommand, AbstractCommandHandler, and CommandCollection as command owners.