FAFT: Introduce FAFTClientProxy to setup RPC smartly

This CL seprates the RPC setup stuffs to a new class FAFTClientProxy.
It reuses SiteHost XMLRPC related methods. It is also smart enough to:
 - postpone the RPC connection to the first class method call;
 - reconnect to the RPC server in case connection lost, e.g. reboot;
 - always call the latest RPC proxy object.

BUG=chrome-os-partner:21118;chromium-os:215491
TEST=Manual
Ran the affected test cases, firmware_FAFTSetup, on Spring and passed.

Change-Id: I0d35881a270ed6d4a69cc60045d1d3e3a608b964
Reviewed-on: https://chromium-review.googlesource.com/62645
Reviewed-by: Wai-Hong Tam <waihong@chromium.org>
Tested-by: Wai-Hong Tam <waihong@chromium.org>
Commit-Queue: Wai-Hong Tam <waihong@chromium.org>
3 files changed