Adjusted to correctly support client ack.
The existing code was treating client-ack as connection-based instead of subscription-based.
Now maintains a separate 'pending' entry for each 'user' (subscription).  Removed the code that randomly
chooses a dest/user when a message is acked, since now the only user that could possibly be considered for
another message is the one we just recieved the ACK from, so a lot of cunning searching can be avoided.

This fix was needed to address a problem where clients could have multiple subscriptions, some needing ACK
and some not.  The random-distribution feature was not considering that other subs may not require ack, and
if it sent a message to a non-ack destination there would be no trigger to re-commence delivery on a given
queue.