Add monitor and downtime APIs with integration tests.

**Don't merge until new monitor UI is released**
They are not actually required in the backend anymore. That was a bug initially but I have changed the backend now so it has the same logic as the alert API (choosing the query as the name if no name is given, same for message).