Use when.ensure to close connections regardless of result

Previously, I was closing the connection only success; however, I
really want to close the connection whatever happens in the connection
open continuation. Closing only on success means the program keeps
running (because I/O to do ..) on errors.
Tutorial five
Tutorial six, RPC

Requires a UUID generator. It's pretty easy to make random strings for
correlation IDs, but the original tutorials specifically use UUID
modules.

I depart a bit from the original tutorials in the rpc_client. I don't
consider the class wrapping the RPC very useful.