msgpack-rpc: Refactor how server->client requests are handled

Due to the asynchronous nature of how clients may respond with interleaved
notifications, using a stack store requests and match responses is simply not an
option. Use a PMap(uint64_t) instead.

Also add a test case that excersises a scenario where responses are handled in
ways that could break the client connection when using a stack.
test: Add more valgrind "possibly lost" suppressions

These valgrind entries are false positives due to how interior pointers are used
in hashtab.c