Logical expressions are easy

refs #53
Added nary expressions

refs #53

Assume that type of the nary expression result is the common type (in
std::common_type sense) of all operands.