Read receipts

Partially implements #359.

Like my last PR, this is only in core because I'm too lazy to add it to the clients.