symbol_table.cpp: Changed '==' to '!=' in "existsOperator" functions

An operator is in the table if the corresponding "retrieveOperator"
does not return nullptr, not the other way around.
symbol_table.cpp: insertOverload: formats should be lower case.
tree_build.cpp: Move NullaryTreeBody parsing to buildExpressionTerminalBody

There was actually a bug in the try-catch chain: if the dynamic_cast
succeed, but the subsequent 'if' fails, we will not try to call
buildExpressionTree recursively to try to convert it either to a
VariableBody or a NumericBody.

Moving the conversion to buildExpressionTerbinalBody solves this
problem and simplifies the code (because every conversion information
for nullary atoms become tied together).
tree_build.cpp: Initialize OperatorOverload::name attribute.
tree_build.cpp: Dynamic Programming recursion should start with distance 1.
tree_build.cpp: Ask if operator exists before retrieving its priority.
tree_build.cpp: Set default value of Data::priority to 'infinity'.
tree_build.cpp: Fix associative operators

The priority retrieval functions in namespace GlobalSymbolTable
return the maximum priority level a subexpression can have.
For the formats FY, YF, XFY and YXF, this returned value
(when refering to the 'Y' side) is exactly the priority of the
operator, so the return value should be compared with '<=', since
the subexpression tree can be rooted by the same operator.

The code was using '<'.
tree_build.cpp: Correct NullaryOperator priority in DP algorithm

The change made by 989c28e ("tree_build.cpp: Move NullaryTreeBody
parsing to buildExpressionTerminalBody") overlooked the need to
assign the priority of the NullaryOperator to the current block
dp[i][i].
Change some printing functions to show members more clearly

Hopefully, all bugs in semantical analysis was corrected.