Clearing command registry from Call when commands are finished.

DO NOT MERGE

The command registry for a Call should remove commands when they get a response and are done executing.

Due to how the current #write_and_await_response method works, it is impossible to test the command actually gets to the registry and it then gets removed.

That would require the ability to suspend the Call object, which is currently impossible to do.