#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.
I second Alex, ie: the contract says ClassCastException should be thrown and IMHO this is the right exception to throw here.

And Louis too: logging the value sounds like a very bad idea to me too.