No auto shell ejection

Adds a flag to make guns drops shells on reload instead of when fired. So guns like revolvers would not drop there shells when they are fired. Suggested in #5665 and Mentioned in #7263

I made a PR for this before but it ended up not working well so I gave it another shot and I think it works like it's supposed to.