Improvements to result operator handling to support composition and improve perf

The gist of this change is that we are taking over client-eval of result operators (previously handled by relinq).