#117 fix SPI tests by adding missing key/value type checks

Missing key/value type checks are fixed, but the hit rate test is still failing because hit rate is not yet implemented. I left that test as ignored and I opened #122 to track the missing implementation.
Can't add a comment to the problem line, but surely 226 looks like a typo. The type of the value to use for triggering a ClassCastException is determined by examining the type of the key... that's bizarre. The problem will be easily seen if the value type is changed to Double by the factory - this test (and a bunch of others having the same conditional) will fail.