differentiator: node, visitor: add basic arithmetic syntax tree node classes along with dummy visitor infrastructure.
differentiator: parser: add a basic arithmetic expression parser.
differentiator: node, parser: store both name and value in a Variable node.
differentiator: parser: add basic error checking.
differentiator: parser: add parsing of power operator (^, **).
differentiator: parser: handle mismatched parentheses.
differentiator: lexer: inherit LexerIterator from std::iterator<>.
differentiator: lexer: add check() for single string, for uniformity.
differentiator: parser: streamline get_sub_expr().
differentiator: node, parser: implement parsing of functions.

There is no table of functions. Each function's name is stored as is.
differentiator: node: make Node::Base::Dump() pure virtual.
differentiator: node: implement concept of node priorities.
differentiator: node: add getters for nodes' important properties.
differentiator: node: rename acceptors to accept() to avoid confusion.
differentiator: visitor-print: implement a sample visitor printing the expression.
differentiator: node: add remaining getter for a Variable's value.
differentiator: visitor-calculate: implement a sample visitor calculating the expression.