Reorder some operations when one of many parts is removed from a tile

Previously, any redundant interfaces on the tile would still be present (but nulled) at the point that neighbour blocks are notified of the change, causing them to NPE if they try and call the interfaces' methods. Now, the interfaces are removed before adjacent blocks are notified of the change. In testing, this fixes an issue I've been having and doesn't appear to break anything else.