Improve the handling of next and previous pages in the `Page` struct
by fixing a bug that caused the URLs to be set to None when a page with
no data was loaded. This change allows for the next and previous page
URLs to be preserved for future retrieval even when there are no
results in the current page.
This fixes a bug where a chunked response would be partially read and then hang forever waiting for another chunk, and adds additional debug logging to the request process.
- Use reqwest's async client
- Convert items_iter() to a futures::Stream
- make Mastodon client an Arc smart pointer, removing the need for OwnedPage.
- remove MastodonClient and HttpSender traits; these can be re-added once async trait fns are stabilized
- make EventStream a futures::Stream