Fix Hash.has_shape? to force all keys to be present

Fixes https://github.com/RetroMocha/obvious/issues/4