Add Eval<opcode>::const_eval() API

This new static function uses the constexpr keyword to evaluate
an expression of literals at compile-time. This is also useful for
inferring the return type of built-in operators.