No default hash values in CallIndex

It turns out the CallIndex setting default values for nonexistent keys kind of caused some concurrency issues. That's not a good thing. Also, it meant some creation of pointless arrays when searching for methods/targets that didn't exist.

Plus have some tests.

:telephone_receiver: