Make symbol/keyword test functions return reference

This commit adds definitions of all the symbol and keyword tokens as
constant strings because they should not be defined in individual
compilation units.

The peekSymbol, parseSymbol, peekKeyword, and parseKeyword functions now
return a reference to a constant string, avoiding instantiation of a new
string in each invocation.
Fix using declarations in tokenTest

* Using declarations are sorted alphabetically.
* The tested functions are explicitly using-declared for readability
  (though it is unnecessary due to argument-dependent name lookup).
Add CommandParserBase abstract class
Add CommandParser class
Change CommandParserCreator requirement

The requirement on PipelineParser::CommandParserCreator is amended to
match the behavior of CommandParserBase.
Merge pull request #27 from magicant/feature/commandparser

Implementation of command parser