Return actual events for interval ends, not just timestamps.

This also substantially cleans up JSON serialization in the APIs, and also adds a Docker build for the client.

Created by  Kris Nuttycombe  on January 23, 2021
IR75ZMX32SFFMDNV2I2L22X5JTWCOC4UUBCSPU7S6VHR6HFV6ADQC
Dependencies
In channels
main
Change contents