Add utility to query the number of current subscribers

The number of subscribers may contain subscribers that are already dead
and will be sorted out when pushing the next time.
Respect push timeouts accurately

Previously, the time needed to make an unsuccessful push to a dead
subscriber in the push loop was not considered when calculating the
remaining time.
Replace num_subscribers/1 with subscribers/1

The new function returns the list of subscribers instead of only
returning its length.