Add `SpecRoles`.
Add `SpecRoles`.

Roles are what are specified in the spec. An object can play multiple roles. Each additional role is simply aliases in the spec, since there is no need for DI to create multiple of the same object.

A role knows how to write it's secondary roles to the raw config object.

pbouzakis/spak