Reduce false cache misses when evaluating prerequisites

The previous function was building a hash of the list of every single file in the site-packages directory, effectively making every execution a cache-miss and slowing down server startup. I think it's reasonable to hash the contents of the requirements files and just the modification times of the modules under site-packages (even that is probably not necessary)

@singingwolfboy @wedaly @cpennington