Correctness/efficiency fixes to signature caching
Fix SignatureCacher records having different hashcodes when they were equal.