server: Migrate from polling invoice status to a stream using TrackAll
Before this MR, we would get updates for hold invoices by polling every invoice_interval. This is inefficient and may result in higher latency if there are many open invoices.
Instead we now subscribe to the TrackAll stream for invoice updates. We only call the list RPC after a reconnect to the stream so that we do not miss any updates and so it is restart-safe.
Edited by Duncan Dean