Add support for all binary operators in constant user functions.

This patch implements the evaluate_function method for the NetEBBits,
NetEBDiv, NetEBLogic, NetEBMinMax, and NetEBPow classes. It also
factors out some common code into the NetEBinary class.
Add support for unary operators in constant user functions.

This patch implements the evaluate_function method for the NetEUnary
and NetEUReduce classes.
Factor out some common eval_tree code.

The eval_tree() function is identical in most of the NetEBinary and
NetEUnary sub-classes.
Fix space issues.