[PLAT-5958] Map details of new subscriptions at point of creation for immediate reuse by other subscriptions in the same request. Prevents bug where multiple subscriptions would be created, and the response message would only cover the request corresponding to the last subscription created.
Reviewed-by: traggattog
[PLAT-5947] Rewritten InMemoryLKVLiveMarketDataProvider for various bug fixes and improvements.

   - Addresses bug caused by previous implementation's reuse of the same map for both pending and active subscriptions where a requested live data specification collides with a fully qualified live data specification.
   - Replaced synchronizing on two externally-visible objects with a read/write lock throughout.
   - Replaced use of concurrent maps with read/write locks.
   - Resubscribe method no longer corrupts reference counts.
   - Addressed race conditions between subscribing and unsubscribing on specifications which resolve to the same fully-qualified specification

Reviewed-by: traggattog
[PLAT-5958] Create a distributor even on an existing subscription to ensure that the 'persistent' flag and 'distributionExpiryTime' are set.
Reviewed-by: traggattog
[PLAT-5961] Clean up underlying LKV cache properly as subscriptions are removed
Reviewed-by: traggattog