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.
A note clarification or the removal of the note is needed. I am not sure that the clarification is really needed since top-first is how most error groups should be debugged. Perhaps that is experience blindness, on my part.