No auto shell ejection

In #7479 now using item_vars instead of union

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 this time it works like it's supposed to.