Do not update autorevision.h's time stamp if the content has not changed.

Also rewrite the driving script for more clarity.
Merge branch 'bugfixes' into 3.1