move Forger related class under Forge directory.
use new Forge directory and namespace.
use Storage/IdOnly instead of Singleton (which is essentially the same class).
created Types directory for injecting non-object such as string.
move Option under Forge.

This class should belong to Forge since this is an option object used to forge an object.
uses Storage/IdOnly instead of  Singleton.
maybe Option should have className to forge.
use Option object for storing DI information for objects.

at least ForgeTest passed. need more testing.