Adding a true type reconciliation function

This allows a user to pass an AnySharedPointer to a CoreContext, and retrieve an std::type_info corresponding to the unaliased concrete type that is known to that context.  This provides diagnostics utilities to elide the TypeUnifierSimple and TypeUnifierComplex wrapper types in cases where those types are injected.
Revert "Eliminating Concept"
Merge pull request #281 from leapmotion/revert-274-dep-concept

Revert "Eliminating Concept"
Merge remote-tracking branch 'origin/develop' into feature-truetype
Merge remote-tracking branch 'origin/feature-truetype' into feat-autopacketgraph