Added generic classes. All of new generic classes exists in simple form for all public classes and interfaces, which is actually an algorithmic form of conversion function for char as input and double as evaluation of AST as output.
Added brand functionality: a universal generalized parser of stream of type T, returning an AST tree of type U, which can be evaluated to anything special. Tests have been updated to reflect code changes, have been found several hidden errors in tests. At the moment, valid grammar on null input set cannot produce positive parsing results even on any grammar rules set.
All non-generic code not changed for the compatibility with older code. Finally switched code and tests to trace build, debug build and release build. Release build does not have extra code evaluation due to classes-to-string conversion to readable format. All test results produce classes-to-string self descripting readable output only on trace build project configuration.
Math sample updated for the new generic classes.