Add Muen subject information driver skeleton

The muen-sinfo driver accesses subject information mapped into memory by
Muen. It will export this information to other in-kernel users via an
API.
muen-sinfo: Verify Muen subject information MAGIC

Check that the Muen subject information struct is present at the
expected memory location.
Add Muen subject information API header

This header defines an API to access Muen subject information.
muen-sinfo: Implement muen_get_channel_info function

The function returns information for a channel given by name. If no
channel with given name exists, False is returned. The event_number and
vector parameters are only valid if indicated by the has_[event|vector]
parameters.
Let muen-kbd driver depend on MUEN_SINFO
muen-kbd: Use sinfo API to determine keyboard channel

The module requests a channel with name 'virtual_keyboard' via the sinfo
API.
Let muen_timer driver depend on MUEN_SINFO
muen_timer: Use sinfo API to determine time channel

The module requests a channel with name 'virtual_time' via the sinfo
API.
Let hvc_muen driver depend on MUEN_SINFO
hvc_muen: Use sinfo API to determine console channel

The module requests a channel with name 'virtual_console' via the sinfo
API.
Define channel_info struct in sinfo API

Use this struct as argument in the muen_get_channel_info function.
Add muen_for_each_channel function to sinfo API

The muen_for_each_channel function can be used to iterate over all
available channels. Channel information and the optional data argument
are passed to a specified callback function.
muen-sinfo: Implement muen_for_each_channel function
muen-sinfo: Log channel information on init