added request class and associated tests for materials
added test for generic resource
better include guard
moved to using smart pointers since object ownership isn't well defined.
added request responses with tests
added resource conversion function capability for all resource types. added example for non-quality, parent class usage
added request portfolios and associated tests. required notion of equality of capacity constraints and requests and required notion of ordering of capacity constraints for use as a map key, so I added an id member and associated < operator.
added a few extra asserts to the portfolio tests
fixed a typo in a test I was looking at
part way through the response portfolio work
added a response portfolio with associated tests. added less and equality operator where needed to allow for comparison and use in ordered containers. revamped the request portfolio to all constraints over all requests. cep18 should be updated accordingly