Store timestamps for modules to autoreload...
Store timestamps for modules to autoreload
Closes gh-4127
At present, autoreload compares the timestamps on .py and .pyc files.
However, this can fail in a couple of ways (see gh-4127). With this
change, it caches the mtime of the .py file when we loaded it.
Some extra complexity is needed to store the mtime as soon as possible -
we scan sys.modules when autoreload is loaded, and register a
post_execute hook to check for newly imported modules after each cell.