First implementation of the AutoPacketGraph (capable of exporting a .gv file)
protecting the transactions in a lock
Adding the packet “count” to the graph
Renaming the function API names and adding some comments
Refactoring the AutoPacketGraph to use AutoFilter with the AutoPacket& backdoor.  This required adding a AutoPacket::GetDispositions() function and copying the subscribers list to the DecorationDisposition copy constructor
Drawing the shapes for graphviz (types are rectangles, AutoFilters are ellipses)
Adding some comments
Slight optimization to store the string names instead to avoid repeated demangling
Titling the graph with the context name
Fixed small bug where publisher needs to check if it has been called
Moving includes to cpp
minor style cleanup
Merge branch 'develop' into feat-autopacketgraph

Conflicts:
	src/autowiring/AutoPacket.cpp
Merge remote-tracking branch 'origin/develop' into feature-truetype

Conflicts:
	src/autowiring/AutoPacket.cpp
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.