Added open_service().
New function to open a service either by name or display name. Since no
service's display name may conflict with any other service's display
name or key name, we can safely use a display name as a key when opening
a service.
OpenService() expects a service name so if it fails with status
ERROR_SERVICE_DOES_NOT_EXIST we can enumerate all services and look for
one whose display name matches the argument passed to open_service(),
and open it. As a side effect we can optionally store the canonical
name in a separate (or not) buffer.