Added replace, peek, and is_empty to BroadcastEndpoint

Also made a few docstring changes.
The eventloop module hadn't been updated to reflect broadcastqueue's merger into datatypes; fix this