Item stack sizes no longer have to be the same as spawn sizes

Implementation of the suggestion from a comment on 8a18a098061f5df77edbf0f00b667d2613edd594, reverts #3045.

Ammo and multi-use Comestibles (the items affected by "count by charges" rules) can now, in their .json files, have an optional "stack_size" field that defines how many items are required to make up 1 full stack (with volume equivalent to the type definition). For example, aspirin appear in 20s, but if their stack size is 100, then you need 100 aspirin to reach the '1  volume' threshold.

This PR also defines stack_size for most ammo types, making all bullets of the same caliber (9mm, .45, etc) have the same stack sizes, so 9mm and 9mm +P+ bullets will both take 50 bullets to make a stack, but they still spawn in groups of 50 and 10 respectively. It also defines stack_size for some meds, allowing pills to take up *vastly* less volume without letting first aid kits (which, having seen several, I can safely say are not smaller than an apple or orange) have 0 volume.