Header organization

Cleanup up a couple redundant parts in Autowiring. More specifically...
* Created `TypeIdentifier` that's shared by both TypeRegistry and EventRegistry
* Removed `CoreContext.h` include from TypeRegistry
  * Can include `TypeRegistry.h` without creating circular dependencies with `CoreContext`
  * Consolidated multiple TypeRegistry utterances in `Autowiring.h` to a single utterance in `CoreContext.h`
* Consolidated `autowiring::` and `Auto::` namespaces
* Consolidated 2 separate definitions of `index_tuple`