Add AssignmentParserResult type alias
Replace SimpleCommandParserImpl with SimpleCommandParserBase

This refactoring commit removes the SimpleCommandParserImpl class
template in favor of the new SimpleCommandParserBase abstract class.
Using a class template only for class dependency injection seems to be
an overkill. An abstract class is sufficient and more readable.
Replace AssignmentParserImpl with AssignmentParserBase

This refactoring commit removes the AssignmentParserImpl class template
in favor of the new AssignmentParserBase abstract class. Using a class
template only for class dependency injection seems to be an overkill. An
abstract class is sufficient and more readable.
Replace WordParserImpl with WordParserBase

This refactoring commit removes the WordParserImpl class template in
favor of the new WordParserBase abstract class. Using a class template
only for class dependency injection seems to be an overkill. An abstract
class is sufficient and more readable.