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.
Why does the order matter? We should try to avoid that if at *all* possible. I would pity the new grad student who reordered a test and couldn't determine the failure..