Son of ResourceBuff

Named ResBuf.  The biggest difference is the buffer is now templated by the resource type (e.g. resource, material, product).  This drastically reduces the amount of casting gymnastics required of archetype devs.

I also changed `quantity()` to `qty()` and `count()` to `n()`.  I realize that these two changes might be a bit controversial, but we have a lot of really, really long names (esp including namespacing) in a lot of our api, and I think these changes will help to make archetype code more readable overall.
k-infinity has another meaning.  Consider changing to `INFINITY` to avoid ambiquity.