make hiding of initial namespace optional

It is by design that names loaded by startup files, etc.
are hidden from things like `%who`.

But this behavior is pretty surprising, especially since

    ipython -i script.py

and

    %run -i script.py

have different behaviors with respect to the hidden namespace.

Since the current behavior was added at the request of @fperez,
I left the default behavior unchanged,
but added a flag to disable hiding initial variables.
make `ipython -i script.py` match `%run script.py`

in terms of effect on the hidden namespace
add whatsnew/pr for initial hidden-ns changes
mention %whos instead of %who
Merge pull request #4543 from minrk/whos-startup

make hiding of initial namespace optional