make --source and -m play nice together

--HG--
branch : __main__-support
extra : rebase_source : c9ca9fddecafddd5ef4db9cc64ca1c0972130aab
ModuleFinder no longer takes a main-module argument.

--HG--
branch : __main__-support
extra : rebase_source : 3f4c29876960153907b65b6e8e818b8228ca4ec0
extra : histedit_source : 6567adaf9c89483b71501fd91e9d3c83ed3daec7%2C2c5c8a7af95b8b26af384b9a65815d077e4313ec
shim for pep302 __loader__

--HG--
branch : __main__-support
extra : histedit_source : f07b26f0cfc575d81972546f1b7ae2ece84e2d87
they changed the way __loader__ looks in 3.3

--HG--
branch : __main__-support
extra : amend_source : 7abd8465667b4bd4b3eeac24391c27c68edf9a95
pypy3 sets sys.__file__ to a nonexistant file

--HG--
branch : __main__-support
ned code review, part 1

--HG--
branch : __main__-support
add necessary tests, fix attrname, once it was shown to fail

--HG--
branch : __main__-support
Merged pull request 42, fixing issue #328.
Cleanups from pull request 42