Add CompositeQoI

This PR implements CompositeQoI, which is now the defacto interface to libMesh::DifferentiableQoI. GRINS::QoIBase (and it's children) are now self contained. I went this route so that we only construct the QoI objects that we need at run time. Note that is also resolves #23.

This needs to be merged *after* #80, but I thought I'd go ahead and put it up now for examination by interested parties. I'll leave this up for a little while because I haven't tested with multiple QoI's at once yet, but the application this is needed for will, so once I'm satisfied that works OK, I'll feel better about merging this.