getServiceById with string UUID returns undefined
Hi,

I have a function that adds a service to an accessory but before i add it i want to check if was not already added since it's a scenario.

I wanted to use `getServiceById` but it appears something is wrong.  It returns `undefined` if i use it with a string uuid as i've seen in the documentation.

This is the PlatformAccessory:
```
PlatformAccessory {
  _events: [Object: null prototype] {},
  _eventsCount: 0,
  _maxListeners: undefined,
  services: [
    AccessoryInformation {
      _events: [Object: null prototype],
      _eventsCount: 3,
      _maxListeners: undefined,
      iid: null,
      name: null,
      characteristics: [Array],
      optionalCharacteristics: [Array],
      isHiddenService: false,
      isPrimaryService: false,
      linkedServices: [],
      displayName: '',
      UUID: '0000003E-0000-1000-8000-0026BB765291',
      subtype: undefined,
      [Symbol(kCapture)]: false
    },
    Television {
      _events: [Object: null prototype],
      _eventsCount: 3,
      _maxListeners: undefined,
      iid: null,
      name: null,
      characteristics: [Array],
      optionalCharacteristics: [Array],
      isHiddenService: false,
      isPrimaryService: false,
      linkedServices: [Array],
      displayName: 'FRM TV',
      UUID: '000000D8-0000-1000-8000-0026BB765291',
      subtype: undefined,
      [Symbol(kCapture)]: false
    },
    TelevisionSpeaker {
      _events: [Object: null prototype],
      _eventsCount: 3,
      _maxListeners: undefined,
      iid: null,
      name: null,
      characteristics: [Array],
      optionalCharacteristics: [Array],
      isHiddenService: false,
      isPrimaryService: false,
      linkedServices: [],
      displayName: 'FRM TV Volume',
      UUID: '00000113-0000-1000-8000-0026BB765291',
      subtype: undefined,
      linked: true,
      [Symbol(kCapture)]: false
    },
    InputSource {
      _events: [Object: null prototype],
      _eventsCount: 3,
      _maxListeners: undefined,
      iid: null,
      name: null,
      characteristics: [Array],
      optionalCharacteristics: [Array],
      isHiddenService: false,
      isPrimaryService: false,
      linkedServices: [],
      displayName: 'Netflix',
      UUID: '000000D9-0000-1000-8000-0026BB765291',
      subtype: 'input_1',
      linked: true,
      [Symbol(kCapture)]: false
    },
    Switch {
      _events: [Object: null prototype],
      _eventsCount: 3,
      _maxListeners: undefined,
      iid: null,
      name: null,
      characteristics: [Array],
      optionalCharacteristics: [Array],
      isHiddenService: false,
      isPrimaryService: false,
      linkedServices: [],
      displayName: 'FRM TV Art Mode',
      UUID: '00000049-0000-1000-8000-0026BB765291',
      subtype: 'frame.art',
      [Symbol(kCapture)]: false
    },
    Switch {
      _events: [Object: null prototype],
      _eventsCount: 3,
      _maxListeners: undefined,
      iid: null,
      name: null,
      characteristics: [Array],
      optionalCharacteristics: [Array],
      isHiddenService: false,
      isPrimaryService: false,
      linkedServices: [],
      displayName: 'FRM TV Power',
      UUID: '00000049-0000-1000-8000-0026BB765291',
      subtype: 'frame.power',
      [Symbol(kCapture)]: false
    }
  ],
  reachable: true,
  context: {},
  _associatedHAPAccessory: Accessory {
    _events: [Object: null prototype] { identify: [Function (anonymous)] },
    _eventsCount: 1,
    _maxListeners: undefined,
    displayName: 'FRM TV',
    UUID: 'b6c1c9a1-2643-446e-ab48-ba52b28d9c9b',
    aid: null,
    _isBridge: false,
    bridged: false,
    bridgedAccessories: [],
    reachable: true,
    category: 31,
    services: [
      [AccessoryInformation],
      [Television],
      [TelevisionSpeaker],
      [InputSource],
      [Switch],
      [Switch]
    ],
    shouldPurgeUnusedIDs: true,
    controllers: {},
    _setupID: null,
    controllerStorage: ControllerStorage {
      initialized: false,
      fileCreated: false,
      purgeUnidentifiedAccessoryData: true,
      trackedControllers: [],
      controllerData: {},
      accessoryUUID: 'b6c1c9a1-2643-446e-ab48-ba52b28d9c9b'
    },
    lastAccessoriesRequest: 0,
    getPrimaryAccessory: [Function (anonymous)],
    disableUnusedIDPurge: [Function (anonymous)],
    enableUnusedIDPurge: [Function (anonymous)],
    purgeUnusedIDs: [Function (anonymous)],
    configurationChangeDebounceTimeout: Timeout {
      _idleTimeout: 1000,
      _idlePrev: [Timeout],
      _idleNext: [Timeout],
      _idleStart: 491,
      _onTimeout: [Function (anonymous)],
      _timerArgs: undefined,
      _repeat: null,
      _destroyed: false,
      [Symbol(refed)]: false,
      [Symbol(kHasPrimitive)]: false,
      [Symbol(asyncId)]: 42,
      [Symbol(triggerId)]: 0
    },
    [Symbol(kCapture)]: false
  },
  displayName: 'FRM TV',
  UUID: 'b6c1c9a1-2643-446e-ab48-ba52b28d9c9b',
  category: 31,
  [Symbol(kCapture)]: false
}
```

`platformAccessory.getServiceById('00000049-0000-1000-8000-0026BB765291', 'frame.art')` -> Returns `undefined`

`platformAccessory.getServiceById(Homebridge.hap.Service.Switch, 'frame.art')` -> Returns the `Switch`

From the documentation i understand that UUID can be string and the ID exists in the `services` list.

I don't know if i'm doing something wrong or if it's a bug :)

Here is what i want to do:
```
addMyService(service) {
    if (this.platformAccessory.getServiceById(service.UUID, service.subtype)) { return; }

    this.platformAccessory.addService(service);
}
```