Change type class instance trait naming convention

This keeps names simpler and will prevent us from having a ConfigConfigValueReader trait when I add a value reader that returns a Config.
Add string reader spec
Add Config reader