Adds expected response validation logging

Adds a debug option to perform logging of the clients expected response versus what it actually received.

This is done using the pre-processor directives LOG_UNUSED_REMOTE_KEYS and LOG_MISSING_EXPECTED_KEYS.