Drop attached blocks when the block it's attached to is destroyed by a player.

OK, I know the code is currently awful. I'd like to have some point of views as I'm not sure the proper way to handle this would be in BlockType.