Can't help myself, add macros prog1 and prog2

Also took the chance to slightly reindent exp_predef in a more
standard Erlang way.
First save of redefining shell top-loop

We are testing allowing defining functions and macros in the shell.