TESTS: a couple of test related to reported issues
FIX: minor code improvements.
FIX: crash when COMPOSE is called on block with paren expressions in block followed by another one at root level.

Now COMPOSE is fully usable from compiler too with all refinements enabled.
Merge branch 'master' of github.com:dockimbel/Red
TESTS: added COMPOSE tests.
FIX: non-passing tests on COMPOSE.
FIX: issue #418 (FUNCTION can't include nested functions)
FIX: issue #419 (Immediately casting string constant corrupts address)
FIX: previous fix for #419 introduced a regression.
FEAT: little improvement in `print-line` performances.
FEAT: routines arity now pre-calculated and stored in a new `arity` field in cells header.
FIX: issue sometimes when passing an empty block to REDUCE.
FEAT: added refinements evaluation support to interpreter.

Tested ok with all function types.
FIX: stack bad layout when REDUCE is used with /into option from interpreter.
TESTS: unit tests for REDUCE and COMPOSE with refinements enabled.
FIX: chained infix expressions now correctly handled by the interpreter.
FEAT: support for run-time functions creation and evaluation with the interpreter.
FIX: changes `spec` field type in red-function! and red-routine! to avoid field corruption (was pointing on stack entries).

Missing parts for functions creation:
- spec block validity is not checked yet
- only FUNC constructor supported for now
FEAT: add minimalist function spec block validation for runtime-created functions.
FEAT: minor code factorization.
FEAT: added HAS function constructor support to the interpreter.
FEAT: added DOES function constructor to the interpreter.