Unhandled Promise Rejection
<!--
Please DO NOT DELETE THIS TEMPLATE or your issue may be closed immediately.
Before opening an issue, search for open and closed GitHub issues that match your situation.

If this is a Live Stream issue please go back and use the Live Streaming issue template.
-->

# Bug Report

### Describe the Bug
DNS error triggers an unhandled promise rejection error which seems to prevent all timers from processing thereafter as I no longer see periodic status updates for my august locks following the first instance of this error in the logs.

### To Reproduce
Steps to reproduce the behavior:

Unclear. It looks like DNS queries crapped out for a bit last night as I was updating firmware on various network components.

### Expected behavior
"proper" handling of the error condition. Not exactly sure of the implementation details, but, losing network / dns momentarily isn't entirely unlikely.

### Screenshots/Logs
[1/19/2021, 10:24:12 PM] [Ring] Failed to reach Ring server at https://app.ring.com/api/v1/clap/tickets?locationID=4d652d7c-705f-4c65-405f-00c4e00fe3ba.  getaddrinfo ENOTFOUND app.ring.com.  Trying again in 5 seconds...
(node:83289) UnhandledPromiseRejectionWarning: Error: getaddrinfo ENOTFOUND app.ring.com
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:67:26)
(node:83289) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 38)
(node:83289) UnhandledPromiseRejectionWarning: Error: The `onCancel` handler was attached after the promise settled.
    at onCancel (/usr/local/lib/node_modules/homebridge-ring/node_modules/p-cancelable/index.js:46:12)
    at makeRequest (/usr/local/lib/node_modules/homebridge-ring/node_modules/got/dist/source/as-promise/index.js:38:13)
    at Request.<anonymous> (/usr/local/lib/node_modules/homebridge-ring/node_modules/got/dist/source/as-promise/index.js:143:17)
    at Object.onceWrapper (events.js:422:26)
    at Request.emit (events.js:315:20)
    at Timeout.retry (/usr/local/lib/node_modules/homebridge-ring/node_modules/got/dist/source/core/index.js:1261:30)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)

### Additional context
None

### Homebridge Ring Config
Post homebridge-ring platform config  _without sensitive information_
```
        {
            "refreshToken": "xxx",
            "alarmOnEntryDelay": true,
            "hideLightGroups": true,
            "hideAlarmSirenSwitch": true,
            "hideUnsupportedServices": true,
            "nightModeBypassFor": "all",
            "avoidSnapshotBatteryDrain": true,
            "platform": "Ring"
        }
```

### Environment
<!-- ✍️edit: -->
 - OS: MacOS 10.15.4
 - Node.js: 14.15.3
 - NPM: 6.14.9
 - homebridge-ring: 9.14.1
 - homebridge: 1.1.7
 - hoobs: N/A
