Remove old workaround for containers <= 0.3
Remove unnecessary and deprecated inclusions of Typeable.h

The build system would've complained loudly about these inclusions if it
weren't for #8527.
Turn NameCacheUpdater into a newtype
Make the fields in NameCache strict

We've already been making sure to strictly modify the global name cache
in order to avoid space leaks.  However, that does us little good if the
fields of the name cache are not made strict as well.