Fix on_closed RPC client behavior (clear the old receive queue)

Use a WeakValueDictionary instead of a normal dict and timeouts
 to cache cid->future map

Make RPC queues auto_delete