* Add tests for polling for multiple messages
This commit adds a mock Redis interface and adds tests that poll the
mock interface for multiple messages at a time. These tests test that
Flodgatt is robust against receiving incomplete messages, including if
the message break results in receiving invalid UTF8.
* Remove temporary files
This squashed commit rolls up a series of changes designed to improve
Flodgatt's public API/module boundary. Specifically, this limits the
number of Items that are exported outside the top-level modules (in some
cases because they were already not needed outside that module due to
the earlier code reorganization and in some cases by using public
re-exports to export particular Items from a private module).
Similarly, this commit moves the `Event` struct to the `response`
module (maintaining privacy for the `Event`'s implementation details)
while re-exporting the `Id` struct that `Event` uses internally at the
top level.
All of these changes are made with the goal of making Flodgatt's code
easier to reason about in isolation, which should both make it easier to
maintain and make it easier for new contributors to make changes without
understanding the entire codebase. Additionally, having fewer public
modules will make documenting Flodgatt more extensively much easier.