SI-6507 do not call .toString on REPL results when :silent is on.

Member handlers used to always call .toString on REPL results, even when
:silent was on, which could force evaluation or cause unwanted side
effects.

This forwards the current value of `printResults` to the member
handlers (through Request) for them to decide what to do when the
results must not be printed.

2 handlers now do not return any extraction code when silent:
 - ValHandler, so that it doesn't call toString on the val
 - Assign, so that it doesn't call toString on the right-hand side
   of the assignement.

---
Review by @som-snytt, please :)