Added types for tab completion abstraction in ParentCommand
Particle by name matching improvements
Add specialized enum parsing to ParentCommand, including Material and
Particle
Material match is flexible as per Material.matchMaterial, will currently
accept IDs but only through that method
Particle parsing will NOT parse by enumerator constant naming, will ONLY
parse by MC protocol name, but this can be overridden by subclasses