C++ parser code rewritten in Objective-C

Added some comments.
Class name change (old -> new):
Evaluator -> NGOFunction
Function -> NGOOperation (same for unary and binary)
Node -> NGOExpression
Logic remains the same.
Added alpha version of symbolic differentiation

Base class NGOExpretion now declares
- (NGOExpression *)differentiateWithVariable(NSString *)variable;
TODO:
- add implementation in NGOUnaryFunction
- rewrite (NSString *)description in NGOUnaryFunction and
NGOBinaryFunction
Added more support for differentiation

Added derivative for x^x (based on general rule for (f(x)^g(x))’)
Added derivatives for some unary functions
Improved tree output
TODO: tree simplification rules
fixed some bugs
Merge branch 'TarasK'