Initial commit of a generic concept checker.

This provides the template function isConcept.  It determines if some type supports the concept specified by a class/struct/interface.