Exponential backoff for hiveio

Summary:
Make HiveIO retry on failure to communicate with Hive
metastore. We use exponential backoff and a likely different
metastore server. Giraph needs to be modified as shown here
https://phabricator.fb.com/D978650

Test Plan:
Added a unittest. Tested HiveIO, and a digraph computation
compiled with this version of HiveIO.

CC: digraph-codereviews@

Differential Revision: https://phabricator.fb.com/D978662