add static fields for common constant expressions
fix if-else for empty blocks
add new ExpressionTree.Converter class

Move existing conversion logic there and add more.
Also fix boolean conversion.
add generic helper function Cast<T>() for converter
also cast numbers in ConvertNumberToString()
make TextToken class abstract