fix tag structure inside ack messages
client state and methods for tracking subscriptions using acks
add tests for tracking subscriptions
factor subscription management into threadsafe subscription tracker