repl: "mutable" macros: `ref`,`define!`,`set!`,`val`

Added macros for emulating mutable variables:
1) `ref`:
    `(define x (ref #f))` - like in OCaml;
2) `define!`: sugar for the above:
    `(define! x #f)` => `(define x (ref #f))`;
3) `set!`: like `:=` in OCaml
    `(set! x #t)`.
4) `val`: like ! in OCaml:
    `(val x)` => #t