Use custom exception classes, instead of built-ins.
Move UnmatchedQuoteException to its own file. It shouldn't be a nested type.
All exceptions should inherit from a common NCommanderExcpetion class, to make try/catch filtering easier.