DetectableObjects register/deregister themselves with Radar

Previously we kept a list of cached DetectableObjects when we encountered
them, but we effectively were never clearing the list. This takes care of
that problem.

This also removes the need for detectable objects to be in the root of
the hierarchy.