FEAT: preliminary changes to support creating op! from function! or routine! values.

Currently, it works only for function! values from the interpreter (untested for routine!).
FEAT: compiler support for creating op! values from functions and routines.
FIX: assertion extended to accept routines.
FEAT: support for creating op! from routines in interpreter.
TESTS: added tests from infix operators creation from functions/routines.
Merge branch 'infix-extend'

Conflicts:
	compiler.r
	runtime/datatypes/op.reds
FEAT: added /INTERPRETED? refinement to SYSTEM function to test if code is run from interpreter or not.

This works even if the interpreted code calls a compiled function where the test occurs (the test involves searching an interpreter parent frame on the Red stack).