Added existing_typesof() proc
Created by: unid15
existing_typesof(/obj) works almost like typesof(/obj), but most of the "abstract" paths like /obj or /obj/item are weeded out.
It works by going through each path in typesof(/obj) and checking if its icon or icon_state are equal to null. If they are, the path is removed from the result
Results are cached
Fixes #7608 (closed)
Fixes #7350 (closed)
Also changed / commented out some of the items' icon_states which were previously invalid (so that this proc can work better). Some instances of typesof(/atom) were replaced with existing_typesof(/atom)