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 
That would make blast doors significantly OP. Even now they can be broken by explosions or similar things. Also, only real way to break them permanently (ie. destroy the obj) are emitters (+ explosions, and probably singularities and stuff)