* Convert boost::asio::io_service to boost::asio::io_context
* Convert strand.wrap(...) to boost::asio::bind_executor(strand, ...)
* Convert strand.dispatch(...) to boost::asio::dispatch(strand, ...)
* Convert io_context.reset() to io_context.restart()
* Convert null_buffers() usage to socket.async_wait(...)
* Drop usage of GET_IO_SERVICE macro from monero
* Refactor REST server to manage resources better
There is roughly a 7.4% increase in performance in the switch to
boost::beast. Additionally, the REST endpoints `/daemon_status`,
`/get_unspent_outs`, and `/submit_raw_tx` do not block in ZMQ calls,
allowing for better response times regardless of `monerod` status.
The REST endpoints `/login and `/get_random_outs` still need updates
to prevent blocking (`/login` is conditional on DB state).