Document the Role::Logger in order to support additional log engines.

Without documentation of this role, it's hard for a developer to implement
support for additional log engines.

Hooks are not documented yet because as of right now, there's no proof that
they are working as expected.

Closes #312