Commands refactor part 1.  Read more...

- Commands no longer need to be registered.
- No need for combat command registration.  This is detectable by if it has a value for characterAbility.
- No need for alias registration.  Use core.callScript.callCommand() in the duplicate script.
- No need for GM cmd registration.  There is a column called godLevel for this.
- Command ranges were not checked, allowing buggy issues like buffs being applied from 2000m away!
- Buffs will be auto applied now to target or self without needing to be scripted.
- Target types and command types are in the table (whether the cmd should be used on you, ally target, enemy target or group) as described here https://github.com/ProjectSWGCore/NGECore2/issues/370 <-- This is going to save us months of wasteful scripting and combat bugs
- Invalid weapons are now checked
- Cooldowns now check for cooldown group rather than commandName
- HitType no longer needs to determine attack range; this info is in the commands table
- Locomotion is partially checked and states fully checked
- Command table breaks when it's found the command for efficiency

In general, we were hardly using any of the info in the commands table and instead struggling to script it and experiencing loads of bugs as a result.  It's a waste of time to script what is already there.