Clean up doc build so it doesn't stacktrace

Fixes #18471

- Add zmq.eventloop to mocked modules in doc/conf.py
- Cleaned up rst references in rest_tornado.rst
Merge pull request #18494 from rallytime/cleanup_doc_build

Clean up doc build so it doesn't stacktrace
Start listening for events when RunnerClient is instantiated

If we're not listening to the eventstream before starting a new job
there's a high likelyhood that we'll miss the job return event. This
change mimics the event-based runners addition slated for Boron.
Merge pull request #18499 from whiteinge/runner-sync-eventlisten

Start listening for events when RunnerClient is instantiated
Handle highstate output when the result is a dict
Properly output the results of salt.function states
Switch `open()` for `salt.utils.fopen()`
Switch `open()` for `salt.utils.fopen()`
Switch `open()` for `salt.utils.fopen()`
Switch `open()` for `salt.utils.fopen()`
Switch `open()` for `salt.utils.fopen()`
Switch `open()` for `salt.utils.fopen()`
Switch `open()` for `salt.utils.fopen()`
Switch `open()` for `salt.utils.fopen()`
Switch `open()` for `salt.utils.fopen()`
Switch `open()` for `salt.utils.fopen()`
Switch `open()` for `salt.utils.fopen()`
Switch `open()` for `salt.utils.fopen()`
Switch `open()` for `salt.utils.fopen()`
Switch `open()` for `salt.utils.fopen()`