remove 'identifier' node
remove 'procedure' node

it doesn't cause an error any more when  proc's return type is
specified.  It should be detected at semantic check.
remove grammatical branch nodes using boost::variant type aliases
remove operator symbols and use string instead

this is prepare for integrating all binary and unary expressions