Blast door refactor

Refactors blast door code completely to eliminate massive amount of ugly copypaste code. It is now possible to easily add more types of blast doors, without having to use ton of copypaste.

Fixes #7343 
Door repairing code itself is quite ugly, i plan to rewrite it later but for now i will use this. Full scale rewrite of all doors has large potential for something going wrong, so i will do that on dev, after feature freeze is lifted.