lengthen identifier cache from 2->3 months
wrap all cache sets in eval
change a few uses of "unless" to "if !" for readability