Implement Offline.subscriptions, subscriptionLoaded,
and subscriptionStatus.

Clean up the interaction between the client and the agent for
subscribing to subscriptions and reporting subscription status back to
the client.

Fixes #8, #7, #4.