the time() may be incorrect if there's slight delay between file modify and cache write. but as file modify is what is important, rely on that. also needed to use different cache file because the format change.
no need to calculate the timestamp ourselves each time the calculated value already present in cache object
unix newlines, trailing spaces
Fixes #472