Add new RabbitMQ-based client/server API
Write methods in the ProvenanceStorageInterface are called through a server that
guarantees conflict-free writings to the underlying database.
Read methods are called directly from the client to avoid RCP overhead for reads.
The server spawns multiple sub-processes to handle independent requests concurrently.