Optimizes the lockdown loops.

Since all doors are now in the portals list, it can now efficiently be searched by the for loop, and subjected to only one istype() check.
Furthermore, since all doors have an open and close proc, there is no need to separate firelocks and blast doors.

This has the added bonus of making the lockdown somewhat harder to notice.