Rewrote most of the code.
- CommandLineParser (now CommandArgumentParser) now produces a seperate Arguments object when parsing data
- Arguments object can be used to build and command string again
- New command system for parsing nested terminal commands
Rewrote most of the code.