refactored name to CommandMetadata to reflect purpose.

Added check to escape early and guarentee arg count, added support for player only commands, console only commands, and either-or (optional) commands. Note, OPTIONAL commands will push their command towards the specific playerCommand or consoleCommand method.

Signed-off-by: CorriePie <corriekay.pinkie@outlook.com>
update

Signed-off-by: CorriePie <corriekay.pinkie@outlook.com>
Added command metadata.

Signed-off-by: CorriePie <corriekay.pinkie@outlook.com>