Created the ID Reference Type.

This avoids primitive obsession with Strings.

This change required a significant amount of refactoring.
Implements DResourceReader.

A good abstraction to the process of opening a text file and making blueprints.

Better yet, this commit removes repeated code.