surround hidden names in __

this might as well be a convention. it also prevents a mangled version of
"foo" from tab-completing with prefixes of "foo".

exclude symbols containing '#' from tab completions; these names are not
typeable anyway.

fixes #3163
Merge branch 'master' of github.com:JuliaLang/julia