Removed trailing whitespaces.
Started semantical analysis.
The file tree_build.h will contain the funcions responsible to convert
 the output of the syntatical analysys into a tree, respecting operator
 priorities and variable definitions.
 It also contains name mangling utilities (for symbol table organization).
symbol_table.h: Added LocalSymbolTable class;
ast.h: Modyfied VariableBody to use std::string instead of Token.
tree_build.cpp: Added partial implementation of buildExpressionTree
The implementation is based in manual dynamic dispatch.
tree_build.cpp: using lambda functions in buildExpressionTree.
tree_build.cpp: Added implementation of buildExpressionPairBody and buildExpressionSequenceBody.
Shift the project from a compiler to an interpreter

There will be not enought time to produce a compiler with
all the planed features - and the fact that the language
is not imperative, but functional, does not help.

We intend to add an interactive mode as a "compensation".

README.md: acknowledge the new objective.
Update the documentation to reflect the shift

system_overview.md, lexer.h: reword "compiler" as "interpreter";
namgin_conventions.txt, makefile: specify that the refered
    compiler is gcc, not our own.
Remove all references to name mangling

Name mangling would be best used in a compiler, where we need some
technique to differentiate between all overloads of a function in
compiled code.

mangling.md: remove
system_overview.md: remove reference to mangling.md

ast.h: As we aim an interpreter instead of a compiler, it is better to
    have non-owning pointers to the operator definitions. This
    was done to the hierarchy of classes below TreeNodeBody.
    The only attribute of TreeNodeBody was a mangled name,
    that served as a reference to the chosen operator version.
    This attribute was replaced by a pointer to an operator,
    rendering TreeNodeBody empty.
    (Maybe we will remove this class in future revisions.)

tree_build.h, tree_build.cpp: remove the getMangledOperatorName function

symbol.h, symbol_table.h, operator.h: removed references to mangling
ast.h: Corrected attribute types and names below TreeNodeBody hierarchy.
symbol_table.h: Added methods to retrieve operators.
tree_build.cpp: Add implementation for buildExpressionSequenceBody

The algorithm is based on dynamic programming, similar do CYK.

The method OperatorBody.clone() should be implemented.
operator.h: Add operand priority information in Operator classes

To avoid tests like "if( type == Token::XFX )", we place the
information about the maximum priority an operand can have in
attributes in the classes UnaryOperator and BinaryOperator.

Since these classes are not typedefs anymore, the template Operator
was renamed to OperatorBase.

NullaryOperator was also changed to a class for consistency.
operator.h: Add method insert to OperatorBase.
symbol.h: Add factory-like method to Category

This function keeps a counter to generate different category values.
symbol_table.h: replace method operatorPriority with four methods

Each of the four substituting methods corresponds
to one type of operator.

tree_build.cpp: renamed method calls accordingly.
Substituted the global symbol table class for a namespace

Since the symbol table was being developed as a singleton,
it is simpler (and removes #includes in the header) to just
use a namespace with several functions.

symbol_table.h: do the change;
tree_build.cpp: renamed method calls to function calls accordingly.
symbol_table.cpp: Implementat GlobalSymbolTable::insertOverload.
symbol_table.cpp: Implemented functions for Category manipulation.
symbol_table.cpp: Implement functions for operator retrieval.